已经过时的方法:
android studio会报错:
错误行:imageView.setBackgroundResource(R.anim.framebyframe);
错误为:expected resource of type
stackoverflow描述:http://stackoverflow.com/questions/24716385/android-studios-expected-resource-of-type-checks
错误原因; AS checks that some int
parameters are not arbitrary integers, but rather have some properties.
新建一个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) {