Android实现进度条播放gif图片

kjjie 贡献于2011-10-21

作者 gb  创建于2011-06-16 09:24:00   修改者gb  修改于2011-06-16 09:24:00字数2300

文档摘要:
关键词:

在Android 中是不支持直接使用Gif 图片关联播放帧动画,如下动画在Android 中是无法播放的: 2011-3-31 16:50 上传 下载附件 (21.58 KB)   Android 提供了另外一种解决的办法,就是使用AnimationDrawable 这一函数使其支持逐帧播放,但是如何把gif 图片打散开来,成为每一帧的图片呢?下面介绍两种比较不错的软件,可以帮我们打散图片。   下载地址:gif分割 gifsplitter.rar (86.2 KB, 下载次数: 95) 2011-3-31 16:51 上传 下载次数: 95 下载积分: e币 -1 元   使用方法如下: 2011-3-31 16:52 上传 下载附件 (27.45 KB) 2011-3-31 16:52 上传 下载附件 (31.44 KB)   这一软件分割图片都是bmp图片,图片比较大,这里不推荐使用,尽量节省不必要的字节,所以这里推荐使用如下 软件   软件下载:动画分割器 easygifanimator.rar (3.48 MB, 下载次数: 146) 2011-3-31 16:53 上传 下载次数: 146 下载积分: e币 -1 元   使用方法如下: 2011-3-31 16:52 上传 下载附件 (1.37 MB) 2011-3-31 16:52 上传 下载附件 (119.88 KB)   点击文件将帧文件导出即可   得到了帧文件后我们可以就编写代码,在res目录下新建anim动画文件夹,写下如下代码 1. 2. 4. 5. 6. 7. 8. 复制代码 对应的item 为顺序的图片从开始到结束,duration为每张逐帧播放间隔,oneshot 为false 代表循环播放,设置为true 即播放一次即停止。   对应Activity 代码如下编写: 1. import android.app.Activity; 2. import android.graphics.drawable.AnimationDrawable; 3. import android.os.Bundle; 4. import android.view.View; 5. import android.view.View.OnClickListener; 6. import android.widget.ImageView; 7. 8. public class animActivity extends Activity implements OnClickListener { 9. ImageView iv = null; 10. 11. /** Called when the activity is first created. */ 12. @Override 13. public void onCreate(Bundle savedInstanceState) { 14. super.onCreate(savedInstanceState); 15. setContentView(R.layout.main); 16. 17. iv = (ImageView) findViewById(R.id.ImageView01); 18. iv.setOnClickListener(this); 19. } 20. 21. @Override 22. public void onClick(View v) { 23. // TODO Auto-generated method stub 24. AnimationDrawable anim = null; 25. Object ob = iv.getBackground(); 26. anim = (AnimationDrawable) ob; 27. anim.stop(); 28. anim.start(); 29. } 30. } 复制代码 使用AnimationDrawable 对象获得图片的图片,然后指定这个AnimationDrawable 开始播放动画   Tip:使用此方法不会默认播放,必须要有事件触发才可播放动画,如上面的通过点击监听触发动画的播放   那么如何使用图片自动播放呢?我们可以联想一下,ProgressBar 是不是默认的时候就会转,那就是那个圆形的进度条,是的。我们可以对它进行改造合它也可以自动播放,在Values 文件下新建一个styles 文件,编写如下代码 : 1. 2. 3. 6. 复制代码 上面样式文件自Widget.ProgressBar.Large 为其设置动画文件,我们在XML中就可以通过设置它的样式使其为我们工作 1. 复制代码 OK,就是这么简单,下面看看运行效果: 2011-3-31 16:52 上传 下载附件 (38.07 KB)

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档