我正在开发android应用程序。我需要在第一个动画进行时开始第二个动画。
我需要在一段时间后逐个移动图像。我在main.xml中使用了framelayout和两个imageView。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:src="@drawable/ars1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/imageView2">
</ImageView>
<ImageView android:src="@drawable/ars"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/imageView1">
</ImageView>
</FrameLayout>
下面是我的animation.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="-100%p"
android:duration="1500" />
</set>
在我的活动类的oncreate方法中,我正在做类似下面的工作。
ImageView imageView1;
ImageView imageView2;
Animation tranOut;
tranOut = AnimationUtils.loadAnimation(this, R.anim.animation);
imageView1 = (ImageView)findViewById(R.id.imageView1);
imageView1.setAnimation(tranOut);
imageView2 = (ImageView)findViewById(R.id.imageView2);
imageView2.setAnimation(tranOut);
请告诉我如何一个接一个地移动这两个图像。
由于 乔蒂
答案 0 :(得分:0)
尝试使用动画侦听器,使用onAnimationEnd(),然后启动第二个。有关动画监听器的更多信息,请参阅以下链接。
http://developer.android.com/reference/android/view/animation/Animation.AnimationListener.html
答案 1 :(得分:0)
我经常搜索并最终使用ImageSwitcher进行搜索。
animation.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="150%p" android:toXDelta="0%p"
android:duration="1500" />
</set>
animation1.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%p" android:toXDelta="-150%p"
android:duration="1500" />
</set>
helloworld.java:
public class helloworld extends Activity implements ViewFactory {
public void onCreate(Bundle savedInstanceState) {
Animation rollIn = AnimationUtils.loadAnimation(this, R.anim.animation);
Animation rollOut = AnimationUtils.loadAnimation(this, R.anim.animation1);
final ImageSwitcher iSwitcher = (ImageSwitcher)findViewById(R.id.ImageSwitcher01);
iSwitcher.setFactory(this);
iSwitcher.setInAnimation(rollIn);
iSwitcher.setOutAnimation(rollOut);
iSwitcher.setImageResource(R.drawable.img1);
// TODO: Change the image in ImageSwitcher on end of animation rollIn.
}
以上代码是实现此功能的基本代码(图像一个接一个地移动)。您可以根据自己的要求对其进行修改。