利用多张图片实现动态图

  1. 打开Eclipse,新建一个Android工程,命名为animation
  2. 准备一张类似于下图的图片,将之切分为大小相同的十六张图片,依次命名为cat1,cat2,……cat16,导入drawable文件夹
    利用多张图片实现动态图_第1张图片
  3. 在res文件夹下新建一个anim文件夹,建立一个animation_list.xml文件,代码如下所示
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" >

    <item  android:id="@+id/aa" android:drawable="@drawable/cat1" android:duration="65"/>
    <item  android:drawable="@drawable/cat2" android:duration="65"/>
    <item  android:drawable="@drawable/cat3" android:duration="65"/>
    <item  android:drawable="@drawable/cat4" android:duration="65"/>
    <item  android:drawable="@drawable/cat5" android:duration="65"/>
        <item  android:id="@+id/aa" android:drawable="@drawable/cat6" android:duration="65"/>
    <item  android:drawable="@drawable/cat7" android:duration="65"/>
    <item  android:drawable="@drawable/cat8" android:duration="65"/>
    <item  android:drawable="@drawable/cat9" android:duration="65"/>
    <item  android:drawable="@drawable/cat10" android:duration="65"/>
    <item  android:drawable="@drawable/cat11" android:duration="65"/>
        <item  android:drawable="@drawable/cat12" android:duration="65"/>
    <item  android:drawable="@drawable/cat13" android:duration="65"/>
    <item  android:drawable="@drawable/cat14" android:duration="65"/>
    <item  android:drawable="@drawable/cat15" android:duration="65"/>
    <item  android:drawable="@drawable/cat16" android:duration="65"/>

</animation-list>

4 . 修改activity_main.xml布局文件,新增一个ImageView和一个Button

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.animation.MainActivity" >

    <ImageView  android:id="@+id/animation" android:layout_width="wrap_content" android:layout_height="wrap_content" />

    <Button  android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="动画" />

</LinearLayout>

5 . 修改MainActivity.java文件

package com.example.animation;

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
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 image;

    private Button button;

    private AnimationDrawable ani;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        image = (ImageView) findViewById(R.id.animation);
        button = (Button) findViewById(R.id.button);

        image.setBackgroundResource(R.anim.animation_list);
        ani = (AnimationDrawable) image.getBackground();
        //开启动画
        ani.start();

        button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (ani.isRunning()) {
                    ani.stop();
                } else {
                    ani.start();
                }
            }
        });
    }
}

6 . 实现效果如下

你可能感兴趣的:(android,android动画,android动态图)