diff --git a/android/src/main/java/com/horcrux/svg/TSpanView.java b/android/src/main/java/com/horcrux/svg/TSpanView.java index 2663b153..6aff115f 100644 --- a/android/src/main/java/com/horcrux/svg/TSpanView.java +++ b/android/src/main/java/com/horcrux/svg/TSpanView.java @@ -70,6 +70,11 @@ class TSpanView extends TextView { super.invalidate(); } + void clearCache() { + mCachedPath = null; + super.clearCache(); + } + @Override void draw(Canvas canvas, Paint paint, float opacity) { if (mContent != null) { diff --git a/android/src/main/java/com/horcrux/svg/TextView.java b/android/src/main/java/com/horcrux/svg/TextView.java index 5aa98ec9..f4485d97 100644 --- a/android/src/main/java/com/horcrux/svg/TextView.java +++ b/android/src/main/java/com/horcrux/svg/TextView.java @@ -51,7 +51,7 @@ class TextView extends GroupView { return; } super.invalidate(); - clearChildCache(); + getTextContainer().clearChildCache(); } void clearCache() { @@ -246,4 +246,13 @@ class TextView extends GroupView { return advance; } + TextView getTextContainer() { + TextView node = this; + ViewParent parent = this.getParent(); + while (parent instanceof TextView) { + node = (TextView) parent; + parent = node.getParent(); + } + return node; + } }