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.csdn.net/download/weixin_42267745/10463334