diff --git a/shimmerlayout/src/main/java/io/supercharge/shimmerlayout/ShimmerLayout.java b/shimmerlayout/src/main/java/io/supercharge/shimmerlayout/ShimmerLayout.java index 5dd6b63..dd8a967 100644 --- a/shimmerlayout/src/main/java/io/supercharge/shimmerlayout/ShimmerLayout.java +++ b/shimmerlayout/src/main/java/io/supercharge/shimmerlayout/ShimmerLayout.java @@ -17,6 +17,7 @@ import android.graphics.Shader; import android.os.Build; import android.util.AttributeSet; +import android.view.View; import android.view.ViewTreeObserver; import android.widget.FrameLayout; @@ -92,6 +93,22 @@ public ShimmerLayout(Context context, AttributeSet attrs, int defStyle) { } } + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + if (changed) { + clearMask(); + } + } + + private void clearMask() { + maskRect = calculateBitmapMaskRect(); + gradientTexturePaint = null; + maskBitmap = null; + localMaskBitmap = null; + canvasForShimmerMask = null; + } + @Override protected void onDetachedFromWindow() { resetShimmering();