Android学习笔记进阶十一图片动画播放(AnimationDrawable)
2012-02-16 17:26
627 查看
![](http://hi.csdn.net/attachment/201202/16/0_13293835268m86.gif)
大家平时见到的最多的可能就是Frame动画了,Android中当然也少不了它。它的使用更加简单,只需要创建一个
AnimationDrawabledF对象来表示Frame动画,然后通过addFrame 方法把每一帧要显示的内容添加进去,并设置播放间隔时间,本例子中间隔时间为5S,
最后通过start 方法就可。
以播放这个动画了,同时还可以通过 setOneShot方法设置是否重复播放。
package xiaosi.bu; import android.app.Activity; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; public class TupianActivity extends Activity { /** Called when the activity is first created. */ private Button start = null; private Button stop = null; private ImageView image = null; private AnimationDrawable animationDrawable = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); start = (Button)findViewById(R.id.start); start.setOnClickListener(new StartListener()); stop = (Button)findViewById(R.id.stop); stop.setOnClickListener(new StopListener()); image = (ImageView)findViewById(R.id.imageview); animationDrawable = new AnimationDrawable(); for(int i =0;i<8;i++){ //第一个 就是我们的资源名称(图片名) //第二个 就是我们存放图片的文件夹drawable //第三个 包名也可以用Context的getPackageName返回应用程序的包名 int id = getResources().getIdentifier( "a"+i, "drawable", "xiaosi.bu"); System.out.println("ID:" + id); animationDrawable.addFrame(getResources().getDrawable(id), 2000); } //设置手否重复播放,false为重复 animationDrawable.setOneShot(false); image.setImageDrawable(animationDrawable); } private class StartListener implements OnClickListener{ public void onClick(View v) { animationDrawable.start(); } } private class StopListener implements OnClickListener{ public void onClick(View v) { animationDrawable.stop(); } } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/start" android:text="Start" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Button android:id="@+id/stop" android:text="End" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <ImageView android:id="@+id/imageview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="fitXY" android:background="#ffffff" /> </LinearLayout>
源代码:点击打开链接
相关文章推荐
- Android学习笔记进阶十一图片动画播放(AnimationDrawable)
- Android学习笔记进阶十一图片动画播放(AnimationDrawable)
- Android学习笔记进阶十一图片动画播放(AnimationDrawable)
- 图片动画播放(AnimationDrawable)
- Android图片动画播放(AnimationDrawable)
- AnimationDrawable监听播放结束及ImageSwitcher动画图片切换,带动画
- 解决在onCreate()中AnimationDrawable只播放第一张图片的问题
- 解决使用AnimationDrawable无法播放动画的问题
- 解决使用AnimationDrawable无法播放动画的问题
- Android使用SurfaceView代替AnimationDrawable播放多图帧动画,避免OOM和卡顿
- Android中使用多张图片组成动画 AnimationDrawable
- AnimationDrawable---界面加载动画(一帧一帧的图片组成的动画)
- Android动画进阶之一:Drawable Animation
- android中通过AnimationDrawable实现动画背景图片
- 自定义AnimationDrawable动画播放完监听
- 解决使用AnimationDrawable无法播放动画的问题
- 解决使用AnimationDrawable无法播放动画的问题(转)
- Drawable Animation -- 使用多幅图片实现动画
- AnimationDrawable android 动画 初始化界面播放
- Android中使用多张图片组成动画 AnimationDrawable