FrameAnimation:
直接上代码...
1>FrameAnimationActivity.java
public class FrameAnimActivity extends AppCompatActivity {
private ImageView iv_myImage;
private Button btn_start, btn_stop;
private AnimationDrawable anim;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_frame_anim);
iv_myImage = (ImageView) findViewById(R.id.iv_myImage);
btn_start = (Button) findViewById(R.id.btn_start);
btn_stop = (Button) findViewById(R.id.btn_stop);
//为一个ImageView控件设置背景;frame.xml文件放在res/drawable下ok(官方建议),自己尝试放在res/anim下不行
iv_myImage.setBackgroundResource(R.drawable.frame);
//获取到iv_myImage控件的drawable
anim = (AnimationDrawable) iv_myImage.getBackground();
//动画开始播放
btn_start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
anim.start();
}
});
//停止播放
btn_stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
anim.stop();
}
});
}
2>frame.xml
<?xml version="1.0" encoding="UTF-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android";>
<!-- android:oneshot如果定义为true的话,此动画只会执行一次,如果为false则一直循环。 -->
android:oneshot="false" >
<!-- 指定每一帧所使用的图片,及每张图片所播放的时长 -->
<item
android:drawable="@mipmap/horse"
android:duration="200"></item>
<item
android:drawable="@mipmap/pic"
android:duration="200"></item>
<!--将图片放置在res/drawable下也ok-->
<!--<item
android:drawable="@drawable/horse"
android:duration="200"></item>
<item
android:drawable="@drawable/pic"
android:duration="200"></item>-->
</animation-list>