一、xml文件方式
1、在res/drawable目录下创建xml'文件
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/alipay" android:duration="300" /> <item android:drawable="@drawable/coinlogo" android:duration="300" /> <item android:drawable="@drawable/close_pressed" android:duration="300" /> </animation-list> 2、在代码中引用 package com.example.administrator.animation; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.MotionEvent; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private AnimationDrawable animationDrawable; /** * ATTENTION: This was auto-generated to implement the App Indexing API. * See https://g.co/AppIndexing/AndroidStudio for more information. */ private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView)findViewById(R.id.animationImg); imageView.setBackgroundResource(R.drawable.animation); animationDrawable = (AnimationDrawable) imageView.getBackground(); } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(1000); animationDrawable.start(); } catch (Exception e) { } } }).start(); return true; } else if (event.getAction() == MotionEvent.ACTION_UP) { animationDrawable.stop(); return true; } return super.onTouchEvent(event); } }二、用代码直接实现不用xml文件 package com.example.administrator.animation; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.MotionEvent; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private AnimationDrawable animationDrawable; /** * ATTENTION: This was auto-generated to implement the App Indexing API. * See https://g.co/AppIndexing/AndroidStudio for more information. */ private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView)findViewById(R.id.animationImg); animationDrawable = new AnimationDrawable(); animationDrawable.addFrame(getResources().getDrawable(R.drawable.alipay), 300); animationDrawable.addFrame(getResources().getDrawable(R.drawable.close_pressed), 300); animationDrawable.addFrame(getResources().getDrawable(R.drawable.coinlogo), 300); imageView.setBackground(animationDrawable); } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(1000); animationDrawable.start(); } catch (Exception e) { } } }).start(); return true; } else if (event.getAction() == MotionEvent.ACTION_UP) { animationDrawable.stop(); return true; } return super.onTouchEvent(event); } }