Animation(帧动画)

Android中实现帧动画,一般我们会用到的一个Drawable:AnimationDrawable 先编写好Drawable,然后代码中调用start()以及stop()开始或停止播放动画~

1、 drawable文件夹中创建animation-list.xml

2、 声明AnimationDrawable

 现在写一个drawable,。命名为:animation_frame

animation_frame布局:android:drawable是图片,android:duration是时间,想要慢就把数字调大些,。

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@mipmap/s_1"
        android:duration="400"></item>
    <item
        android:drawable="@mipmap/s_2"
        android:duration="400"></item>
    <item
        android:drawable="@mipmap/s_3"
        android:duration="400"></item>
    <item
        android:drawable="@mipmap/s_4"
        android:duration="400"></item>
    <item
        android:drawable="@mipmap/s_5"
        android:duration="400"></item>
    <item
        android:drawable="@mipmap/s_6"
        android:duration="400"></item>
    <item
        android:drawable="@mipmap/s_7"
        android:duration="400"></item>
    <item
        android:drawable="@mipmap/s_8"
        android:duration="400"></item>
</animation-list>

activtity代码如下:两个按钮+ImageView+TextView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="OnStart"
        android:text="开始" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="OnStop"
        android:text="结束" />

    <ImageView
        android:id="@+id/frame_img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@drawable/animation_frame" />
</LinearLayout>

现在我们写activity的实现:

public class AnimationActivity extends AppCompatActivity {
    private ImageView img;
    private AnimationDrawable animationDrawable;// 声明AnimationDrawable
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_animation);
        img=findViewById(R.id.frame_img);
        animationDrawable=(AnimationDrawable) img.getBackground();
    }
    /**
     * 开始
     * @param view
     */
    public void OnStart(View view){
        animationDrawable.start();
    }

    /**
     * 停止
     * @param view
     */
    public void  OnStop(View view){
        animationDrawable.stop();
    }
}
好了,这样就写完了,。
源码下载地址:https://download.csdn.net/download/weixin_42267745/10463334


猜你喜欢

转载自blog.csdn.net/weixin_42267745/article/details/80600306