diff --git a/materialloadingprogressbar/src/main/java/com/lsjwzh/widget/materialloadingprogressbar/CircleProgressBar.java b/materialloadingprogressbar/src/main/java/com/lsjwzh/widget/materialloadingprogressbar/CircleProgressBar.java index c5d3bcf..60a6653 100644 --- a/materialloadingprogressbar/src/main/java/com/lsjwzh/widget/materialloadingprogressbar/CircleProgressBar.java +++ b/materialloadingprogressbar/src/main/java/com/lsjwzh/widget/materialloadingprogressbar/CircleProgressBar.java @@ -380,6 +380,8 @@ protected void onAttachedToWindow() { if (mProgressDrawable != null) { mProgressDrawable.stop(); mProgressDrawable.setVisible(getVisibility() == VISIBLE, false); + + requestLayout(); } } diff --git a/materialloadingprogressbar/src/main/java/com/lsjwzh/widget/materialloadingprogressbar/MaterialProgressDrawable.java b/materialloadingprogressbar/src/main/java/com/lsjwzh/widget/materialloadingprogressbar/MaterialProgressDrawable.java index 6a27226..964c8c4 100644 --- a/materialloadingprogressbar/src/main/java/com/lsjwzh/widget/materialloadingprogressbar/MaterialProgressDrawable.java +++ b/materialloadingprogressbar/src/main/java/com/lsjwzh/widget/materialloadingprogressbar/MaterialProgressDrawable.java @@ -359,6 +359,10 @@ public void applyTransformation(float interpolatedTime, Transformation t) { float groupRotation = ((720.0f / NUM_POINTS) * interpolatedTime) + (720.0f * (mRotationCount / NUM_POINTS)); setRotation(groupRotation); + + // If this view is removed by parent + // clear the anim + if ( mAnimExcutor.getParent() == null ) stop(); } } };