安卓旋转动画
Posted
技术标签:
【中文标题】安卓旋转动画【英文标题】:android rotating animation 【发布时间】:2011-11-03 19:41:20 【问题描述】:我的布局如下所示:(没有箭头)
布局周围的动物图片。 我想做一个旋转动画,让所有的动物都去那个方向 的箭头(实际上,它们应该能够围绕视图旋转 360 度)并替换彼此的位置。但要保持自己的方向 - 这样每只动物都会一直站在她的腿上,而不是她的头上 :-)
我被这个问题困扰了 2 天了,我不知道如何实现这个
请帮忙? 谢谢, 罗恩
【问题讨论】:
【参考方案1】:您可以手动为它们设置动画,例如游戏精灵。另一种选择是反对旋转动画:
rotate_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:toDegrees="0"
android:fromDegrees="359"
android:pivotX="50%"
android:pivotY="50%"
android:duration="2000"
android:repeatCount="infinite"
android:interpolator="@android:anim/linear_interpolator"
/>
</set>
rotate_right.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:toDegrees="359"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="2000"
android:repeatCount="infinite"
android:interpolator="@anim/lin"
/>
</set>
布局 xml 文件(只是顶部和底部的一个文本框。您必须自己实现 4 个角;)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="horizontal">
<FrameLayout
android:layout_
android:layout_
android:id="@+id/outer"
>
<LinearLayout
android:layout_
android:layout_
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_
android:layout_
android:layout_weight="1"
android:gravity="center"
android:id="@+id/top"
android:text="Top"/>
<TextView
android:layout_
android:layout_
android:layout_weight="1"
android:gravity="center"
android:id="@+id/bottom"
android:text="Bottom"/>
</LinearLayout>
</FrameLayout>
</LinearLayout>
在您的活动中:
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.[yourlayout]);
findViewById(R.id.outer).startAnimation(AnimationUtils.loadAnimation(this,R.anim.rotate_left));
findViewById(R.id.top).startAnimation(AnimationUtils.loadAnimation(this,R.anim.rotate_right));
findViewById(R.id.bottom).startAnimation(AnimationUtils.loadAnimation(this,R.anim.rotate_right));
由于某种原因,我无法正确使用线性插值器进行旋转。它不断加速/减速。可能必须在代码中这样做。
【讨论】:
如何应用动画?在 LinearLayout 或 FrameLayout 上?你能添加一些代码吗? @RonGross 嗨,Ron 你能帮我解决四个角吗 - 相同的动画。我想用四个图像实现相同的功能。谢谢 @KevinGalligan 你能帮我制作一组 4 张图片吗? :(以上是关于安卓旋转动画的主要内容,如果未能解决你的问题,请参考以下文章