类android.animation.ValueAnimator.AnimatorUpdateListener源码实例Demo

下面列出了怎么用android.animation.ValueAnimator.AnimatorUpdateListener的API类实例代码及写法,或者点击链接到github查看源代码。

/**
 * Applys a spin animation to the Chart.
 *
 * @param durationmillis
 * @param fromangle
 * @param toangle
 */
@SuppressLint("NewApi")
public void spin(int durationmillis, float fromangle, float toangle, EasingFunction easing) {

    if (android.os.Build.VERSION.SDK_INT < 11) {
        return;
    }

    setRotationAngle(fromangle);

    ObjectAnimator spinAnimator = ObjectAnimator.ofFloat(this, "rotationAngle", fromangle,
            toangle);
    spinAnimator.setDuration(durationmillis);
    spinAnimator.setInterpolator(easing);

    spinAnimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            postInvalidate();
        }
    });
    spinAnimator.start();
}
 
源代码2 项目: LaunchEnr   文件: DragView.java
private void animateFilterTo(float[] targetFilter) {
    float[] oldFilter = mCurrentFilter == null ? new ColorMatrix().getArray() : mCurrentFilter;
    mCurrentFilter = Arrays.copyOf(oldFilter, oldFilter.length);

    if (mFilterAnimator != null) {
        mFilterAnimator.cancel();
    }
    mFilterAnimator = ValueAnimator.ofObject(new FloatArrayEvaluator(mCurrentFilter),
            oldFilter, targetFilter);
    mFilterAnimator.setDuration(COLOR_CHANGE_DURATION);
    mFilterAnimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            mPaint.setColorFilter(new ColorMatrixColorFilter(mCurrentFilter));
            invalidate();
        }
    });
    mFilterAnimator.start();
}
 
源代码3 项目: LaunchEnr   文件: DragView.java
public void animateShift(final int shiftX, final int shiftY) {
    if (mAnim.isStarted()) {
        return;
    }
    mAnimatedShiftX = shiftX;
    mAnimatedShiftY = shiftY;
    applyTranslation();
    mAnim.addUpdateListener(new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            float fraction = 1 - animation.getAnimatedFraction();
            mAnimatedShiftX = (int) (fraction * shiftX);
            mAnimatedShiftY = (int) (fraction * shiftY);
            applyTranslation();
        }
    });
}
 
源代码4 项目: LaunchEnr   文件: Workspace.java
public ValueAnimator createHotseatAlphaAnimator(float finalValue) {
    if (Float.compare(finalValue, mHotseatAlpha[HOTSEAT_STATE_ALPHA_INDEX]) == 0) {
        // Return a dummy animator to avoid null checks.
        return ValueAnimator.ofFloat(0, 0);
    } else {
        ValueAnimator animator = ValueAnimator
                .ofFloat(mHotseatAlpha[HOTSEAT_STATE_ALPHA_INDEX], finalValue);
        animator.addUpdateListener(new AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                float value = (Float) valueAnimator.getAnimatedValue();
                setHotseatAlphaAtIndex(value, HOTSEAT_STATE_ALPHA_INDEX);
            }
        });

        AccessibilityManager am = (AccessibilityManager)
                mLauncher.getSystemService(Context.ACCESSIBILITY_SERVICE);
        final boolean accessibilityEnabled = am.isEnabled();
        animator.addUpdateListener(
                new AlphaUpdateListener(mLauncher.getHotseat(), accessibilityEnabled));
        animator.addUpdateListener(
                new AlphaUpdateListener(mPageIndicator, accessibilityEnabled));
        return animator;
    }
}
 
源代码5 项目: LaunchEnr   文件: SwipeHelper.java
private void snapChild(final View animView, final float targetLeft, float velocity) {
    final boolean canBeDismissed = mCallback.canChildBeDismissed(animView);
    AnimatorUpdateListener updateListener = new AnimatorUpdateListener() {
        public void onAnimationUpdate(ValueAnimator animation) {
            onTranslationUpdate(animView, (float) animation.getAnimatedValue(), canBeDismissed);
        }
    };

    Animator anim = getViewTranslationAnimator(animView, targetLeft, updateListener);
    if (anim == null) {
        return;
    }
    int duration = SNAP_ANIM_LEN;
    anim.setDuration(duration);
    anim.addListener(new AnimatorListenerAdapter() {
        public void onAnimationEnd(Animator animator) {
            mSnappingChild = false;
            updateSwipeProgressFromOffset(animView, canBeDismissed);
            mCallback.onChildSnappedBack(animView, targetLeft);
        }
    });
    prepareSnapBackAnimation(animView, anim);
    mSnappingChild = true;
    anim.start();
}
 
源代码6 项目: Ticket-Analysis   文件: PieRadarChartBase.java
/**
 * Applys a spin animation to the Chart.
 *
 * @param durationmillis
 * @param fromangle
 * @param toangle
 */
@SuppressLint("NewApi")
public void spin(int durationmillis, float fromangle, float toangle, Easing.EasingOption easing) {

    if (android.os.Build.VERSION.SDK_INT < 11)
        return;

    setRotationAngle(fromangle);

    ObjectAnimator spinAnimator = ObjectAnimator.ofFloat(this, "rotationAngle", fromangle,
            toangle);
    spinAnimator.setDuration(durationmillis);
    spinAnimator.setInterpolator(Easing.getEasingFunctionFromOption(easing));

    spinAnimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            postInvalidate();
        }
    });
    spinAnimator.start();
}
 
源代码7 项目: letv   文件: MyDownloadActivity.java
private void doTabPageIndicatorAnimator(int start, int end) {
    this.mTabPIValueAnimator = ValueAnimator.ofInt(new int[]{start, end});
    this.mTabPIValueAnimator.addUpdateListener(new AnimatorUpdateListener(this) {
        final /* synthetic */ MyDownloadActivity this$0;

        {
            if (HotFix.PREVENT_VERIFY) {
                System.out.println(VerifyLoad.class);
            }
            this.this$0 = this$0;
        }

        public void onAnimationUpdate(ValueAnimator animation) {
            int value = ((Integer) animation.getAnimatedValue()).intValue();
            LayoutParams layoutParams = this.this$0.mIndicator.getLayoutParams();
            layoutParams.height = value;
            this.this$0.mIndicator.setLayoutParams(layoutParams);
        }
    });
    this.mTabPIValueAnimator.start();
}
 
源代码8 项目: android-kline   文件: PieRadarChartBase.java
/**
 * Applys a spin animation to the Chart.
 *
 * @param durationmillis
 * @param fromangle
 * @param toangle
 */
@SuppressLint("NewApi")
public void spin(int durationmillis, float fromangle, float toangle, Easing.EasingOption easing) {

    if (android.os.Build.VERSION.SDK_INT < 11)
        return;

    setRotationAngle(fromangle);

    ObjectAnimator spinAnimator = ObjectAnimator.ofFloat(this, "rotationAngle", fromangle,
            toangle);
    spinAnimator.setDuration(durationmillis);
    spinAnimator.setInterpolator(Easing.getEasingFunctionFromOption(easing));

    spinAnimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            postInvalidate();
        }
    });
    spinAnimator.start();
}
 
源代码9 项目: iMoney   文件: PieRadarChartBase.java
/**
 * Applys a spin animation to the Chart.
 * 
 * @param durationmillis
 * @param fromangle
 * @param toangle
 */
@SuppressLint("NewApi")
public void spin(int durationmillis, float fromangle, float toangle, Easing.EasingOption easing) {

    if (android.os.Build.VERSION.SDK_INT < 11)
        return;

    setRotationAngle(fromangle);

    ObjectAnimator spinAnimator = ObjectAnimator.ofFloat(this, "rotationAngle", fromangle,
            toangle);
    spinAnimator.setDuration(durationmillis);
    spinAnimator.setInterpolator(Easing.getEasingFunctionFromOption(easing));

    spinAnimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            postInvalidate();
        }
    });
    spinAnimator.start();
}
 
源代码10 项目: Stayfit   文件: PieRadarChartBase.java
/**
 * Applys a spin animation to the Chart.
 * 
 * @param durationmillis
 * @param fromangle
 * @param toangle
 */
@SuppressLint("NewApi")
public void spin(int durationmillis, float fromangle, float toangle, Easing.EasingOption easing) {

    if (android.os.Build.VERSION.SDK_INT < 11)
        return;

    setRotationAngle(fromangle);

    ObjectAnimator spinAnimator = ObjectAnimator.ofFloat(this, "rotationAngle", fromangle,
            toangle);
    spinAnimator.setDuration(durationmillis);
    spinAnimator.setInterpolator(Easing.getEasingFunctionFromOption(easing));

    spinAnimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            postInvalidate();
        }
    });
    spinAnimator.start();
}
 
源代码11 项目: NetKnight   文件: PieRadarChartBase.java
/**
 * Applys a spin animation to the Chart.
 * 
 * @param durationmillis
 * @param fromangle
 * @param toangle
 */
@SuppressLint("NewApi")
public void spin(int durationmillis, float fromangle, float toangle, Easing.EasingOption easing) {

    if (android.os.Build.VERSION.SDK_INT < 11)
        return;

    setRotationAngle(fromangle);

    ObjectAnimator spinAnimator = ObjectAnimator.ofFloat(this, "rotationAngle", fromangle,
            toangle);
    spinAnimator.setDuration(durationmillis);
    spinAnimator.setInterpolator(Easing.getEasingFunctionFromOption(easing));

    spinAnimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            postInvalidate();
        }
    });
    spinAnimator.start();
}
 
源代码12 项目: delion   文件: PaymentRequestUI.java
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom,
        int oldLeft, int oldTop, int oldRight, int oldBottom) {
    if (mSheetAnimator != null) mSheetAnimator.cancel();

    mRequestView.removeOnLayoutChangeListener(this);
    mContainerHeightDifference = (bottom - top) - (oldBottom - oldTop);

    ValueAnimator containerAnimator = ValueAnimator.ofFloat(1f, 0f);
    containerAnimator.addUpdateListener(new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            float alpha = (Float) animation.getAnimatedValue();
            update(alpha);
        }
    });

    mSheetAnimator = containerAnimator;
    mSheetAnimator.setDuration(DIALOG_ENTER_ANIMATION_MS);
    mSheetAnimator.setInterpolator(new LinearOutSlowInInterpolator());
    mSheetAnimator.addListener(this);
    mSheetAnimator.start();
}
 
源代码13 项目: JNChartDemo   文件: PieRadarChartBase.java
/**
 * Applys a spin animation to the Chart.
 * 
 * @param durationmillis
 * @param fromangle
 * @param toangle
 */
@SuppressLint("NewApi")
public void spin(int durationmillis, float fromangle, float toangle, Easing.EasingOption easing) {

    if (android.os.Build.VERSION.SDK_INT < 11)
        return;

    setRotationAngle(fromangle);

    ObjectAnimator spinAnimator = ObjectAnimator.ofFloat(this, "rotationAngle", fromangle,
            toangle);
    spinAnimator.setDuration(durationmillis);
    spinAnimator.setInterpolator(Easing.getEasingFunctionFromOption(easing));

    spinAnimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            postInvalidate();
        }
    });
    spinAnimator.start();
}
 
源代码14 项目: AndroidChromium   文件: PaymentRequestUI.java
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom,
        int oldLeft, int oldTop, int oldRight, int oldBottom) {
    if (mSheetAnimator != null) mSheetAnimator.cancel();

    mRequestView.removeOnLayoutChangeListener(this);
    mContainerHeightDifference = (bottom - top) - (oldBottom - oldTop);

    ValueAnimator containerAnimator = ValueAnimator.ofFloat(1f, 0f);
    containerAnimator.addUpdateListener(new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            float alpha = (Float) animation.getAnimatedValue();
            update(alpha);
        }
    });

    mSheetAnimator = containerAnimator;
    mSheetAnimator.setDuration(DIALOG_ENTER_ANIMATION_MS);
    mSheetAnimator.setInterpolator(new LinearOutSlowInInterpolator());
    mSheetAnimator.addListener(this);
    mSheetAnimator.start();
}
 
源代码15 项目: glide-support   文件: TestFragment.java
@TargetApi(VERSION_CODES.HONEYCOMB)
private void animateColors(Palette palette) {
	int color = palette.getVibrantColor(defaultColor);
	Swatch swatch = palette.getMutedSwatch();
	anims = new AnimatorSet();

	ValueAnimator cardBG = ValueAnimator.ofObject(new ArgbEvaluator(),
			defaultColor/* cannot retrieve card BG */, color);
	cardBG.addUpdateListener(new AnimatorUpdateListener() {
		@Override public void onAnimationUpdate(ValueAnimator animation) {
			holder.card.setCardBackgroundColor((Integer)animation.getAnimatedValue());
		}
	});
	anims.play(cardBG);
	if (swatch != null) {
		ObjectAnimator textColorBG = ofObject(holder.titleView, "backgroundColor", new ArgbEvaluator(),
				((ColorDrawable)holder.titleView.getBackground()).getColor(), swatch.getRgb());
		ObjectAnimator textColor = ofObject(holder.titleView, "textColor", new ArgbEvaluator(),
				holder.titleView.getCurrentTextColor(), swatch.getTitleTextColor());
		anims.play(textColor);
		anims.play(textColorBG);
	}
	anims.playTogether(anims.getChildAnimations());
	anims.setDuration(3000);
	anims.start();
}
 
源代码16 项目: material-components-android   文件: AppBarLayout.java
private void startLiftOnScrollElevationOverlayAnimation(
    @NonNull final MaterialShapeDrawable background, boolean lifted) {
  float appBarElevation = getResources().getDimension(R.dimen.design_appbar_elevation);
  float fromElevation = lifted ? 0 : appBarElevation;
  float toElevation = lifted ? appBarElevation : 0;

  if (elevationOverlayAnimator != null) {
    elevationOverlayAnimator.cancel();
  }

  elevationOverlayAnimator = ValueAnimator.ofFloat(fromElevation, toElevation);
  elevationOverlayAnimator.setDuration(
      getResources().getInteger(R.integer.app_bar_elevation_anim_duration));
  elevationOverlayAnimator.setInterpolator(AnimationUtils.LINEAR_INTERPOLATOR);
  elevationOverlayAnimator.addUpdateListener(
      new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(@NonNull ValueAnimator valueAnimator) {
          background.setElevation((float) valueAnimator.getAnimatedValue());
        }
      });
  elevationOverlayAnimator.start();
}
 
private static Animator createFadeThroughAnimator(
    final View view,
    final float startValue,
    final float endValue,
    final @FloatRange(from = 0.0, to = 1.0) float startFraction,
    final @FloatRange(from = 0.0, to = 1.0) float endFraction) {
  ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f);
  animator.addUpdateListener(
      new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
          float progress = (float) animation.getAnimatedValue();
          view.setAlpha(lerp(startValue, endValue, startFraction, endFraction, progress));
        }
      });
  return animator;
}
 
源代码18 项目: material-components-android   文件: FadeProvider.java
private static Animator createFadeAnimator(
    final View view,
    final float startValue,
    final float endValue,
    final @FloatRange(from = 0.0, to = 1.0) float startFraction,
    final @FloatRange(from = 0.0, to = 1.0) float endFraction) {
  ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f);
  animator.addUpdateListener(
      new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
          float progress = (float) animation.getAnimatedValue();
          view.setAlpha(lerp(startValue, endValue, startFraction, endFraction, progress));
        }
      });
  return animator;
}
 
private static Animator createFadeThroughAnimator(
    final View view,
    final float startValue,
    final float endValue,
    final @FloatRange(from = 0.0, to = 1.0) float startFraction,
    final @FloatRange(from = 0.0, to = 1.0) float endFraction) {
  ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f);
  animator.addUpdateListener(
      new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
          float progress = (float) animation.getAnimatedValue();
          view.setAlpha(lerp(startValue, endValue, startFraction, endFraction, progress));
        }
      });
  return animator;
}
 
源代码20 项目: material-components-android   文件: FadeProvider.java
private static Animator createFadeAnimator(
    final View view,
    final float startValue,
    final float endValue,
    final @FloatRange(from = 0.0, to = 1.0) float startFraction,
    final @FloatRange(from = 0.0, to = 1.0) float endFraction) {
  ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f);
  animator.addUpdateListener(
      new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
          float progress = (float) animation.getAnimatedValue();
          view.setAlpha(lerp(startValue, endValue, startFraction, endFraction, progress));
        }
      });
  return animator;
}
 
源代码21 项目: Trebuchet   文件: DragView.java
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void animateFilterTo(float[] targetFilter) {
    float[] oldFilter = mCurrentFilter == null ? new ColorMatrix().getArray() : mCurrentFilter;
    mCurrentFilter = Arrays.copyOf(oldFilter, oldFilter.length);

    if (mFilterAnimator != null) {
        mFilterAnimator.cancel();
    }
    mFilterAnimator = ValueAnimator.ofObject(new FloatArrayEvaluator(mCurrentFilter),
            oldFilter, targetFilter);
    mFilterAnimator.setDuration(COLOR_CHANGE_DURATION);
    mFilterAnimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            mPaint.setColorFilter(new ColorMatrixColorFilter(mCurrentFilter));
            invalidate();
        }
    });
    mFilterAnimator.start();
}
 
源代码22 项目: 365browser   文件: PaymentRequestUI.java
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom,
        int oldLeft, int oldTop, int oldRight, int oldBottom) {
    if (mSheetAnimator != null) mSheetAnimator.cancel();

    mRequestView.removeOnLayoutChangeListener(this);
    mContainerHeightDifference = (bottom - top) - (oldBottom - oldTop);

    ValueAnimator containerAnimator = ValueAnimator.ofFloat(1f, 0f);
    containerAnimator.addUpdateListener(new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            float alpha = (Float) animation.getAnimatedValue();
            update(alpha);
        }
    });

    mSheetAnimator = containerAnimator;
    mSheetAnimator.setDuration(DIALOG_ENTER_ANIMATION_MS);
    mSheetAnimator.setInterpolator(new LinearOutSlowInInterpolator());
    mSheetAnimator.addListener(this);
    mSheetAnimator.start();
}
 
private void loadBgAnimator() {
    AnimatorUpdateListener listener = new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator arg0) {
            setBgAlpha((Integer) arg0.getAnimatedValue());
        }
    };

    mBgFadeInAnimator = loadAnimator(getActivity(), R.animator.lb_playback_bg_fade_in);
    mBgFadeInAnimator.addUpdateListener(listener);
    mBgFadeInAnimator.addListener(mFadeListener);

    mBgFadeOutAnimator = loadAnimator(getActivity(), R.animator.lb_playback_bg_fade_out);
    mBgFadeOutAnimator.addUpdateListener(listener);
    mBgFadeOutAnimator.addListener(mFadeListener);
}
 
private void loadBgAnimator() {
    AnimatorUpdateListener listener = new AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator arg0) {
            setBgAlpha((Integer) arg0.getAnimatedValue());
        }
    };

    mBgFadeInAnimator = loadAnimator(getActivity(), R.animator.lb_playback_bg_fade_in);
    mBgFadeInAnimator.addUpdateListener(listener);
    mBgFadeInAnimator.addListener(mFadeListener);

    mBgFadeOutAnimator = loadAnimator(getActivity(), R.animator.lb_playback_bg_fade_out);
    mBgFadeOutAnimator.addUpdateListener(listener);
    mBgFadeOutAnimator.addListener(mFadeListener);
}
 
源代码25 项目: NotificationPeekPort   文件: SwipeHelper.java
public void snapChild(final View view, float velocity) {
    final View animView = mCallback.getChildContentView(view);
    final boolean canAnimViewBeDismissed = mCallback.canChildBeDismissed(animView);
    ObjectAnimator anim = createTranslationAnimation(animView, 0);
    anim.setInterpolator(new OvershootInterpolator(2.5f));
    int duration = OVERSHOOT_DURATION;
    anim.setDuration(duration);
    anim.addUpdateListener(new AnimatorUpdateListener() {
        public void onAnimationUpdate(ValueAnimator animation) {
            updateAlphaFromOffset(animView, canAnimViewBeDismissed);
        }
    });
    anim.addListener(new AnimatorListenerAdapter() {
        public void onAnimationEnd(Animator animator) {
            updateAlphaFromOffset(animView, canAnimViewBeDismissed);
        }
    });
    anim.start();
}
 
源代码26 项目: coursera-android   文件: ValueAnimatorActivity.java
public void startAnimation() {
	
	final ImageView imageView = (ImageView) findViewById(R.id.image_view);
	
	ValueAnimator anim = ValueAnimator.ofObject(new ArgbEvaluator(), RED,
			BLUE);

	anim.addUpdateListener(new AnimatorUpdateListener() {

		@Override
		public void onAnimationUpdate(ValueAnimator animation) {
			imageView.setBackgroundColor((Integer) animation
					.getAnimatedValue());
		}
	});
	
	anim.setDuration(10000);
	anim.start();
}
 
源代码27 项目: coursera-android   文件: ValueAnimatorActivity.java
private void startAnimation() {
	
	final ImageView imageView = findViewById(R.id.image_view);
	
	ValueAnimator anim = ValueAnimator.ofObject(new ArgbEvaluator(), RED,
			BLUE);

	anim.addUpdateListener(new AnimatorUpdateListener() {

		@Override
		public void onAnimationUpdate(ValueAnimator animation) {
			imageView.setBackgroundColor((Integer) animation
					.getAnimatedValue());
		}
	});
	
	anim.setDuration(10000);
	anim.start();
}
 
源代码28 项目: HeadsUp   文件: SwipeHelper.java
public void snapChild(final View view, float velocity) {
    final View animView = mCallback.getChildContentView(view);
    final boolean canAnimViewBeDismissed = mCallback.canChildBeDismissed(animView);
    ObjectAnimator anim = createTranslationAnimation(animView, 0);
    int duration = SNAP_ANIM_LEN;
    anim.setDuration(duration);
    anim.addUpdateListener(new AnimatorUpdateListener() {
        public void onAnimationUpdate(ValueAnimator animation) {
            updateAlphaFromOffset(animView, canAnimViewBeDismissed);
        }
    });
    anim.addListener(new AnimatorListenerAdapter() {
        public void onAnimationEnd(Animator animator) {
            updateAlphaFromOffset(animView, canAnimViewBeDismissed);
        }
    });
    anim.start();
}
 
源代码29 项目: FimiX8-RE   文件: X8DoubleWaySeekBar.java
public void resetSeekBar() {
    ValueAnimator valueAnimator = ValueAnimator.ofFloat(new float[]{this.mPointerLeft, (float) (this.mViewMiddleXPos - this.mHalfDrawableWidth)});
    valueAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
    valueAnimator.setDuration(200);
    valueAnimator.addUpdateListener(new AnimatorUpdateListener() {
        public void onAnimationUpdate(ValueAnimator animation) {
            X8DoubleWaySeekBar.this.mPointerLeft = ((Float) animation.getAnimatedValue()).floatValue();
            X8DoubleWaySeekBar.this.mPointerRight = X8DoubleWaySeekBar.this.mPointerLeft + ((float) X8DoubleWaySeekBar.this.mPointerDrawable.getIntrinsicWidth());
            X8DoubleWaySeekBar.this.invalidate();
        }
    });
    valueAnimator.start();
}
 
源代码30 项目: CollapsingRefresh   文件: SmartRefreshLayout.java
/**
 * 完成加载
 */
@Override
public SmartRefreshLayout finishLoadmore(int delayed, final boolean success) {
	Runnable runnable = new Runnable() {
		@Override
		public void run() {
			if (mState == RefreshState.Loading) {
				if (mRefreshFooter != null && mKernel != null) {
					int startDelay = mRefreshFooter.onFinish(SmartRefreshLayout.this, success);
					if (startDelay == Integer.MAX_VALUE) {
						return;
					}
					notifyStateChanged(RefreshState.LoadFinish);
					AnimatorUpdateListener updateListener = mRefreshContent.onLoadingFinish(mKernel, mFooterHeight, startDelay, mReboundInterpolator, mReboundDuration);
					if (mOnMultiPurposeListener != null) {
						mOnMultiPurposeListener.onFooterFinish(mRefreshFooter, success);
					}
					if (mSpinner == 0) {
						resetStatus();
					} else {
						ValueAnimator valueAnimator = animSpinner(0, startDelay);
						if (updateListener != null && valueAnimator != null) {
							valueAnimator.addUpdateListener(updateListener);
						}
					}
				} else {
					resetStatus();
				}
			}
		}
	};
	if (delayed > 0) {
		postDelayed2(runnable, delayed);
	} else {
		runnable.run();
	}
	return this;
}