valueanimator 中的 setFloatValues 怎么被ViewPropertyAnimator替代
时间: 2024-02-21 07:56:46 浏览: 14
在 ViewPropertyAnimator 中,你可以通过链式调用方法来设置动画的属性,而不需要使用 ValueAnimator 来设置动画的初始值和结束值。具体来说,可以使用 ViewPropertyAnimator 的方法来设置动画的属性,如 alpha()、translationX()、translationY() 等等。例如,如果你想设置一个 View 的 alpha 值从 0.0 到 1.0 的动画,可以使用以下代码:
```
view.animate().alpha(1.0f);
```
这个方法会自动将 View 的当前 alpha 值作为初始值,然后执行从当前值到 1.0f 的动画。这样,你就不需要使用 ValueAnimator 的 setFloatValues() 方法来设置初始值和结束值了。
相关问题
ViewPropertyAnimator
ViewPropertyAnimator是一个用于实现View动画的类,它可以让我们以一种非常简单的方式来实现View动画。它是通过将View的属性变化分解成一系列小的动画来实现的,这些小的动画可以在一定的时间内依次执行完成。
使用ViewPropertyAnimator可以实现以下一些常见的View动画:
1. 改变View的透明度(alpha属性)
2. 改变View的旋转角度(rotation属性)
3. 改变View的缩放比例(scaleX和scaleY属性)
4. 改变View的平移位置(translationX和translationY属性)
使用ViewPropertyAnimator非常简单,只需要调用View的animate()方法,然后链式调用要执行的动画即可。例如,下面的代码可以实现将一个View的透明度从1.0变为0.5,并且在1秒钟内执行完成:
```
view.animate().alpha(0.5f).setDuration(1000);
```
总的来说,ViewPropertyAnimator是一个非常方便的类,它可以让我们用非常简单的代码实现复杂的View动画效果。
android viewpropertyanimator重复
要在Android ViewPropertyAnimator中实现重复动画,可以使用withEndAction()方法来设置动画结束时的操作,并在其中调用start()方法以启动动画的下一次重复。
以下是一个示例代码,将一个视图沿着X轴无限次数地移动:
```
view.animate().translationX(100).withEndAction(new Runnable() {
@Override
public void run() {
view.setTranslationX(0);
view.animate().translationX(100).start();
}
}).start();
```
在这个例子中,当动画结束时,我们将视图的X轴平移重置为0,然后再次启动动画,从而实现了重复动画的效果。