我想拥有ImageView
的无限动画。 ImageView
的起始位置应位于屏幕的顶部,目的地应位于屏幕外的底部。
是否有机制来实现无限动画,我可以将ImageView
放在屏幕之外吗?
答案 0 :(得分:0)
将相对布局左侧或右侧的imageView保存为图像的宽度。所以它将不在屏幕上
<ImageView
android:id="@+id/imageView1"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="-20dp"
android:src="@drawable/test" />
然后你可以使用动画。 的 RES /动画/ rotatemove.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:repeatCount="infinite"
android:repeatMode="restart" >
<rotate
android:duration="600"
android:fromDegrees="0"
android:interpolator="@android:anim/cycle_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:repeatMode="restart"
android:toDegrees="360" />
<translate
android:duration="800"
android:fromYDelta="0%p"
android:toYDelta="100%p"
android:repeatCount="infinite"
android:repeatMode="restart" />
</set>
现在在您的活动中使用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotatemove);
ImageView iv = (ImageView) findViewById(R.id.test);
iv.startAnimation(anim);
}