【发布时间】:2013-01-28 07:09:31
【问题描述】:
所以我想同时旋转几个视图,所有视图都使用相同的旋转规范。问题是由于某种原因,第二个元素的旋转作用不同。显然,这与动画对象在这两行代码之间实际改变状态有关。显然我可以创建一个单独的动画对象并应用它,但我觉得有一种更简单的方法(我有大约 15 个视图)
仅正确旋转第一个视图:
Animation rotateAnim = AnimationUtils.loadAnimation(this, R.anim.rotationtoportrait);
target.startAnimation(rotateAnim);
lightBtn.startAnimation(rotateAnim);
两个都正确旋转
Animation rotateAnim = AnimationUtils.loadAnimation(this, R.anim.rotationtoportrait);
Animation rotateAnim2 = AnimationUtils.loadAnimation(this, R.anim.rotationtoportrait);
target.startAnimation(rotateAnim);
lightBtn.startAnimation(rotateAnim2);
XML:
<?xml version="1.0" encoding="utf-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="-90"
android:toDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="500" android:fillAfter="true">
谁有想法?
【问题讨论】:
-
尝试使用新的动画 API(为了向后兼容使用 NineOldAndroids)。我也建议观看:youtube.com/watch?v=_UWXqFBF86U
-
喜欢这个视频!但是,据我所知,视频中的那个人做了什么新的 API?(至少在最后)
-
错误的视频,抱歉。 ;) youtube.com/watch?v=3UbJhmkeSig
-
感谢您的视频。新的 API 肯定更强大,但我认为无论哪种方式,您都需要创建动画对象与要旋转的对象的一对一关系。除非您可以使用 anim.setTarget(v1) anim.setTarget(v2) 设置多个目标视图?
标签: android rotation image-rotation