新建一个framebyframe.xml文件
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/an01" android:duration="1000" />
<item android:drawable="@drawable/an02" android:duration="1000" />
<item android:drawable="@drawable/an03" android:duration="2000" />
</animation-list>
<!--
oneshot :是否只播放一遍动画 true 播放一遍 false 循环播放
默认就是false
-->
下边 就是具体代码实现了:
public class SplashActivity extends Activity {
private ImageView imageView;
private AnimationDrawable animationDrawable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 帧动画
imageView = (ImageView) findViewById(R.id.imageView1);
// 第一种方式实现 动画
/*animationDrawable = (AnimationDrawable) getResources().getDrawable(
R.anim.framebyframe);
imageView.setBackgroundDrawable(animationDrawable);*/
// 第二种方式实现动画
imageView.setBackgroundResource(R.anim.framebyframe);
animationDrawable = (AnimationDrawable) imageView.getBackground();
animationDrawable.start();//开始
// animationDrawable.setOneShot(false);是否循环播放
// animationDrawable.stop();停止播放
// animationDrawable.isRunning();//是否播放
// animationDrawable.getNumberOfFrames();//播放帧
// animationDrawable.getFrame(index); 返回制定索引的 Drawable对象
// animationDrawable.getDuration(i);停留的时间
//延迟三秒 跳转
new Handler() {
public void handleMessage(android.os.Message msg) {
if (msg.what == 1) {
//声明意图对象 实现 跳转
Intent intent = new Intent(SplashActivity.this,
MainActivity.class);
startActivity(intent);
}
};
}.sendEmptyMessageDelayed(1, 3000);//三秒
}
/* @Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
animationDrawable.start();
return true;
}
return super.onTouchEvent(event);
}
*/
}