这标题感觉像写代码时候写的注释啊!
写下学习的路程,当成一种复习!
ANDROID中不能直接播放GIF动画,需要将GIF动画分解成一帧一帧的图片,然后连贯起来形成动画.
①,将帧图片定义为一个XML,选择animation-list ,其中 android:oneshot="true"表示不循环播放,反之;
item是从第一帧到最后一帧的顺序。
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true" >
<item android:drawable="@drawable/picture1" android:duration="150">
</item>
<item android:drawable="@drawable/picture2" android:duration="150">
</item>
<item android:drawable="@drawable/picture3" android:duration="150">
</item>
<item android:drawable="@drawable/picture4" android:duration="150">
</item>
<item android:drawable="@drawable/picture5" android:duration="150">
</item>
</animation-list>
②布局,测试用的是ImageView,定义好基本属性(PS:我在此定义SRC属性后,遇到一些问题,所以用代码去动态绑定);点击按钮开始播放动画
③MainActivity.java中步骤:取到开始按钮ID,绑定ImageView的帧图片XML(我定义的为R.drawable.animation_list_gif) ,开始按钮的事件编写,完成后运行。
public class MainActivity extends Activity {
private ImageView iv ;
private AnimationDrawable animationDrawable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button_one);
iv = (ImageView) findViewById(R.id.animationIV);
iv.setBackgroundResource(R.drawable.animation_list_gif) ; //动态绑定
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
animationDrawable = (AnimationDrawable)iv.getBackground();
animationDrawable.start();
}
});
}
}