接着上一章写,如果我们想开机启动动画,有如下方法:
1. 使用onWindowFocusChanged();onWindowFocusChanged()在我们window窗口焦点方式改变的时候调用。
2. 使用post()方法。查看系统源码可以发现使用了handler机制。
看源码(因为本文是在上篇文章的基础上写出来的),所以就不把所有的代码全部粘贴出来了。
package com.example.bujiandonghua;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.DrawableContainer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView iv_zhangxin;
private AnimationDrawable ad_zhangxin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_zhangxin = (ImageView) findViewById(R.id.iv_zhangxin);
iv_zhangxin.setBackgroundResource(R.drawable.my_animation);
ad_zhangxin = (AnimationDrawable) iv_zhangxin.getBackground();
//方法二:
// iv_zhangxin.post(new Runnable() {
//
// @Override
// public void run() {
// // TODO Auto-generated method stub
// ad_zhangxin.start();
// }
// });
}
// 第一种方法:
// @Override
// public void onWindowFocusChanged(boolean hasFocus) {
// // TODO Auto-generated method stub
// super.onWindowFocusChanged(hasFocus);
// ad_zhangxin.start();
// }
}