diff --git a/library/src/main/java/com/cjj/MaterialHeaderView.java b/library/src/main/java/com/cjj/MaterialHeaderView.java old mode 100644 new mode 100755 index e58ccf3..4eeaee6 --- a/library/src/main/java/com/cjj/MaterialHeaderView.java +++ b/library/src/main/java/com/cjj/MaterialHeaderView.java @@ -192,6 +192,9 @@ public void onRefreshing(MaterialRefreshLayout materialRefreshLayout) { materialWaveView.onRefreshing(materialRefreshLayout); } if (circleProgressBar != null) { + ViewCompat.setScaleX(circleProgressBar, 1f); + ViewCompat.setScaleY(circleProgressBar, 1f); + ViewCompat.setAlpha(circleProgressBar, 1f); circleProgressBar.onRefreshing(materialRefreshLayout); } } diff --git a/library/src/main/java/com/cjj/MaterialRefreshLayout.java b/library/src/main/java/com/cjj/MaterialRefreshLayout.java old mode 100644 new mode 100755 index 78b5d69..75bc918 --- a/library/src/main/java/com/cjj/MaterialRefreshLayout.java +++ b/library/src/main/java/com/cjj/MaterialRefreshLayout.java @@ -1,12 +1,13 @@ package com.cjj; +import android.animation.ObjectAnimator; +import android.animation.ValueAnimator; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Color; import android.os.Build; import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewPropertyAnimatorCompat; -import android.support.v4.view.ViewPropertyAnimatorUpdateListener; import android.util.AttributeSet; import android.util.Log; import android.view.Gravity; @@ -414,14 +415,15 @@ public void setIsOverLay(boolean isOverLay) { // } public void createAnimatorTranslationY(final View v, final float h, final FrameLayout fl) { - ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = ViewCompat.animate(v); - viewPropertyAnimatorCompat.setDuration(250); - viewPropertyAnimatorCompat.setInterpolator(new DecelerateInterpolator()); - viewPropertyAnimatorCompat.translationY(h); - viewPropertyAnimatorCompat.start(); - viewPropertyAnimatorCompat.setUpdateListener(new ViewPropertyAnimatorUpdateListener() { + //use ObjectAnimator instead of ViewPropertyAnimatorCompat + //because Prior to API 19, ViewPropertyAnimatorUpdateListener will do nothing + ObjectAnimator animator = ObjectAnimator.ofFloat(v, "translationY", h); + animator.setDuration(250); + animator.setInterpolator(new DecelerateInterpolator()); + animator.start(); + animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override - public void onAnimationUpdate(View view) { + public void onAnimationUpdate(ValueAnimator animation) { float height = ViewCompat.getTranslationY(v); fl.getLayoutParams().height = (int) height; fl.requestLayout(); @@ -549,5 +551,12 @@ public void setHeaderHeight(float headHeight) { public void setMaterialRefreshListener(MaterialRefreshListener refreshListener) { this.refreshListener = refreshListener; } - + + public boolean getIsRefreshing() { + return isRefreshing; + } + + public boolean getIsLoadMoreing() { + return isLoadMoreing; + } }