欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1.Frame Animation 逐帧动画

程序员文章站 2022-03-16 15:13:14
...
加载动画/渐变动画等,用途也是挺多的。

资料1
资料2

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="true">//false 一直重复执行,true执行一次。
    <item
        android:duration="200"
        android:drawable="@drawable/frame_anim_1"/>
    <item
        android:duration="200"
        android:drawable="@drawable/frame_anim_2"/>
    <item
        android:duration="200"
        android:drawable="@drawable/frame_anim_3"/>
    <item
        android:duration="200"
        android:drawable="@drawable/frame_anim_4"/>
    <item
        android:duration="200"
        android:drawable="@drawable/frame_anim_4"/>
</animation-list>
ImageView mImageViewFilling = (ImageView) findViewById(R.id.imageview_animation_list_filling);
((AnimationDrawable) mImageViewFilling.getBackground()).start();
  代码中添加
  rocketAnimation = new AnimationDrawable();
  rocketAnimation.addFrame(getResources().getDrawable(R.drawable.rocket_thrust1, 200);
  rocketAnimation.addFrame(getResources().getDrawable(R.drawable.rocket_thrust2, 200);
  rocketAnimation.addFrame(getResources().getDrawable(R.drawable.rocket_thrust3, 200);
  rocketImage.setBackground(rocketAnimation);  
  • 需要注意的是,动画的启动需要在view和window建立连接后才可以绘制,比如上面代码是在用户触摸后启动。如果我们需要打开界面就启动动画的话,则可以在Activity的onWindowFocusChanged()方法中启动。
Animated-Selector 21以上,需要适配。