我想在单个视图上制作两种类型的动画:一个TranslateAnimation和一个稍后的ScaleAnimation。问题是当ScaleAnimation开始时视图会返回到其初始状态(在TranslateAnimation之前)。有没有办法做我想要的?Android:在开始一个新的动画时保持旧的动画状态
0
A
回答
0
您可以将侦听器添加到TranslateAnimation
,完成后,将View
的位置更改为动画的结束位置。
TranslateAnimation anim = new TranslateAnimation(...);
anim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) { }
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationEnd(Animation animation) {
view.setX(NEW_X_POSITION);
view.setY(NEW_Y_POSITION);
}
});
但是我建议从旧TranslateAnimation
/ScaleAnimation
类型的类实际上切换到新ViewPropertyAnimator
框架(http://android-developers.blogspot.co.il/2011/05/introducing-viewpropertyanimator.html)。 在新的框架,你没有改变一样在上面的代码位置,而且语法简单得多:
myView.animate().x(500).y(500);
你也可以用AnimatorSet
创建一组动画要一起玩或一个之后。
延伸阅读:https://developer.android.com/reference/android/view/ViewPropertyAnimator.html
相关问题
- 1. 保持css动画状态
- 2. Python:Tkinter - 一个动画在另一个动画开始时停止
- 3. 停止原始状态的Android动画
- 4. Android - 在开始新活动时保存活动状态
- 5. android-开始动画
- 6. jQuery动画返回到开始状态
- 7. 如何开始一个新的活动,而始终保持画廊?
- 8. Edge动画从动画开始动画
- 9. 开始时的WebKit动画
- 10. 动画开始时滚动
- 11. 当新动画开始时,缩放动画正在停止
- 12. Android alpha动画:动画完成时保留在上一个动画帧中
- 13. css3动画保持恢复到原始状态
- 14. 在CSS3动画结束时保持最终状态
- 15. Android - 在动画期间保持活动
- 16. 圈的UIView动画保持圆形状
- 17. Android动画开始位置
- 18. Android更新画布(保留旧画面)
- 19. 自动开始一个strokeEnd动画
- 20. 活动开始时的动画跳转
- 21. 在WPF中开始一个XAML动画
- 22. ANDROID ANDROID - 如何在开始新动画之前检查动画是否运行
- 23. 倾斜时动画开始
- 24. Android保持活动状态
- 25. 动态更新动画的android ui
- 26. 同一个CSS动画的不同动画持续时间
- 27. 停止动画并开始新的动画
- 28. CSS动画属性保持动画后
- 29. 停止下一个动画开始前一个动画的JQuery的
- 30. 动画PNG状态
是的,它的工作原理!我根本没有想到听众 – Kemix