Android AnimationDrawable动画实例

1、定义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:drawable="@drawable/play_music_01" android:duration="300" />
    <item android:drawable="@drawable/play_music_02" android:duration="300" />
    <item android:drawable="@drawable/play_music_03" android:duration="300" />
    <item android:drawable="@drawable/play_music_04" android:duration="300" />
    <item android:drawable="@drawable/play_music_05" android:duration="300" />
</animation-list>


注:素材见附件;

2、定义配置文件
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

3、使用

import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;

public class MainActivity extends Activity implements OnClickListener {
	private AnimationDrawable animationDrawable;
	private ImageView imageView;
	private boolean isPaly = false;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		imageView =(ImageView) findViewById(R.id.imageView);
		imageView.setImageResource(R.drawable.bottom_bar_play_icon_normal);
		imageView.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.imageView:
			if(isPaly){
				isPaly = false;
				animationDrawable.stop();
				imageView.setBackgroundDrawable(new ColorDrawable(Color.argb(0, 0, 0, 0)));
				imageView.setImageResource(R.drawable.bottom_bar_play_icon_normal);
			}else{
				isPaly = true;
				imageView.setBackgroundResource(R.anim.animation_list);
				animationDrawable =(AnimationDrawable) imageView.getBackground();
				animationDrawable.start();
				imageView.setImageDrawable(new ColorDrawable(Color.argb(0, 0, 0, 0)));
			}
			break;
		}
	}
}


猜你喜欢

转载自gqdy365.iteye.com/blog/2179048