Ahm*_*eye 23 android android-animation
我想使用以下内容进行翻译动画
public static void move(TextView view){
ValueAnimator va = ValueAnimator.ofFloat(0f, 3f);
int mDuration = 3000; //in millis
va.setDuration(mDuration);
va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
}
});
va.setRepeatCount(5);
va.start();
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用onAnimationUpdate方法.
有人可以帮忙吗?
Bar*_*ski 51
如果你真的,真的,真的,真的想ValueAnimator用于动画翻译View你可以这样做(完成你的例子,假设你的意思translationX; 记住你的动画翻译从0px到3px,所以你可能不会看多少差异):
public static void move(final TextView view){
ValueAnimator va = ValueAnimator.ofFloat(0f, 3f);
int mDuration = 3000; //in millis
va.setDuration(mDuration);
va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
view.setTranslationX((float)animation.getAnimatedValue());
}
});
va.setRepeatCount(5);
va.start();
}
Run Code Online (Sandbox Code Playgroud)
ValueAnimator 是制作动画的绝佳工具。通常我们有两个步骤:
第 1 步 - 创建您的 ValueAnimator 类
ValueAnimator animator = ValueAnimator.ofFloat(start value, end value);
Run Code Online (Sandbox Code Playgroud)
第 2 步 - 添加一个更新侦听器并至少覆盖 onAnimationUpdate() 函数
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float value = (float) animator.getAnimatedValue();
//this value should be used to update properties of views.
//just don't forget to run invalidate function of your views
// to redraw them.
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23230 次 |
| 最近记录: |