<?xml version="1.0" encoding="utf-8"?>
<animation-list android:id="@+id/handimation" android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/a1" android:duration="150" />
<item android:drawable="@drawable/icon" android:duration="150" />
<item android:drawable="@drawable/stat_sad" android:duration="150" />
</animation-list>
将上面的代码加入res/anim/rocket_thrust.xml
然后在代码中:
ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundDrawable(getResources().getDrawable(R.drawable.rocket_thrust));
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
或者
rocketImage.setBackgroundResource(R.anim.rocket_thrust);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
如果用Tween Aniamation动画 你的用
rocketImage.setAnimation(AnimationUtils.loadAnimation(this, R.anim.rocket_thrust) );
同时还要注意 你的图画不能是黑白的 这样看不出效果,因为屏幕是黑色的 我就因为这个原因 还以为代码错误
然后就是运动
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
((AnimationDrawable) rocketAnimation).start();
return true;
}
return super.onTouchEvent(event);
}
在这里没有弄出自动播放 我也没找到原因
标签:动画,rocketImage,rocket,AnimationDrawable,Frame,Animation,rocketAnimation,thrust,e From: https://blog.51cto.com/u_16166892/6523991