Android中实现帧动画,一般我们会用到的一个Drawable:AnimationDrawable 先编写好Drawable,然后代码中调用start()以及stop()开始或停止播放动画~
1、 在drawable文件夹中创建animation-list.xml
2、 声明AnimationDrawable
现在写一个drawable,。命名为:animation_frame
animation_frame布局:android:drawable是图片,android:duration是时间,想要慢就把数字调大些,。
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@mipmap/s_1"
android:duration="400"></item>
<item
android:drawable="@mipmap/s_2"
android:duration="400"></item>
<item
android:drawable="@mipmap/s_3"
android:duration="400"></item>
<item
android:drawable="@mipmap/s_4"
android:duration="400"></item>
<item
android:drawable="@mipmap/s_5"
android:duration="400"></item>
<item
android:drawable="@mipmap/s_6"
android:duration="400"></item>
<item
android:drawable="@mipmap/s_7"
android:duration="400"></item>
<item
android:drawable="@mipmap/s_8"
android:duration="400"></item>
</animation-list>
activtity代码如下:两个按钮+ImageView+TextView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="OnStart"
android:text="开始" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="OnStop"
android:text="结束" />
<ImageView
android:id="@+id/frame_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/animation_frame" />
</LinearLayout>
现在我们写activity的实现:
public class AnimationActivity extends AppCompatActivity {
private ImageView img;
private AnimationDrawable animationDrawable;// 声明AnimationDrawable
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_animation);
img=findViewById(R.id.frame_img);
animationDrawable=(AnimationDrawable) img.getBackground();
}
/**
* 开始
* @param view
*/
public void OnStart(View view){
animationDrawable.start();
}
/**
* 停止
* @param view
*/
public void OnStop(View view){
animationDrawable.stop();
}
}
好了,这样就写完了,。
源码下载地址:https://download.youkuaiyun.com/download/weixin_42267745/10463334