gpt4 book ai didi

java - Android 中非 View 对象的动画

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:40 24 4
gpt4 key购买 nike

阅读了 PropertyAnimator 的文档后,似乎只要满足以下条件之一,我们就可以为每个对象设置动画,

  • 如果您有权限,请将 setter 方法添加到类中。
  • 使用您有权更改的包装器类,并让该包装器通过有效的 setter 方法接收值并将其转发到原始对象。
  • 改用 ValueAnimator。

我正在尝试在菜单中的 MenuItem 的 Drawable 或 StateListDrawable 上制作动画。由于drawables不包含setter方法,我想知道是否有人使用ValueAnimator进行平移动画可以提供一些示例。

最佳答案

ValueAnimator animator = ValueAnimator.ofFloat(0, 1);
animator.setDuration(300);
animator.setInterpolator(new CycleInterpolator(3));
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
label.setTranslationX(((Float) animation.getAnimatedValue()) * 20);
}
});
animator.start();

ValueAnimator 非常简单,可以用来制作任何东西的动画。您只需更新所需的值并在动画的每一帧中手动使 View 无效。上面的动画将标签摇动三次。

关于java - Android 中非 View 对象的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38108158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com