使用ObjectAnimator
s,可选择PropertyValuesHolder
s,可以为动画属性指定起始值和结束值:
ObjectAnimator animX = ObjectAnimator.ofFloat(myView, "x", 20f, 50f);
ObjectAnimator animY = ObjectAnimator.ofFloat(myView, "y", 30f, 100f);
AnimatorSet animSetXY = new AnimatorSet();
animSetXY.playTogether(animX, animY);
animSetXY.start();
PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("x", 20f, 50f);
PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("y", 30f, 100f);
ObjectAnimator.ofPropertyValuesHolder(myView, pvhX, pvyY).start();
如何使用ViewPropertyAnimator
s实现相同的动画?语法似乎不支持起始值,假设它们等于视图在动画开始时的值:
myView.animate().x(50f).y(100f); //Where do I put starting values??
谢谢;)
答案 0 :(得分:4)
如果您要使用ViewPropertyAnimator,您的视图需要在动画开始前位于起始位置。