在android里面能不能使用gif图像?这个问题好像不行,android其实设计的很好,没必要做gif图像。首先我们要知道gif图像是逐帧播放预设的图片,那么在android里面我们可以通过一种转换来实现gif图像。

1.定义一个cwj_animation.xml放到res/drawable目录下,其中定义的属性duration为延时,单位为毫秒,而oneshot属性表示是否仅播放一次,内容为:
1<animation-list android:id="selected" android:oneshot="false">
2<item android:drawable="@drawable/cwj0" android:duration="30"
/>
3<item android:drawable="@drawable/cwj1" android:duration="30"
/>
4<item android:drawable="@drawable/cwj2" android:duration="30"
/>
5<item android:drawable="@drawable/cwj3" android:duration="30"
/>
6<item android:drawable="@drawable/cwj4" android:duration="30"
/>
7<item android:drawable="@drawable/cwj5" android:duration="30"
/>
8</animation-list>

2.java中调用也很简单
  ImageView img = (ImageView)findViewById(R.id.cwj_image); //首先声明一个ImageView对象在xml布局文件中
  img.setBackgroundResource(R.drawable.cwj_animation); //我们刚才的animation定义的xml文件
  AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground(); //构造AnimationDrawable对象
  frameAnimation.start() //开始播放动画

可以这么理解:cwj_animation.xml就是一张gif图片,之所以要放到drawable里面就是因为这个原因。在java代码中可以直接采用setBackgroundResource来加载该gif资源。这个是android实现gif的一种方式也是最容易理解的一种方式。

更多相关文章

  1. MPAndroidChart项目实战(七)——自定义横向柱状图
  2. android-xml布局属性 - 随心
  3. 关于android:layout_weight属性使用注意事项
  4. android中自定义SeekBar
  5. Android布局文件属性笔记
  6. 自定义实现圆形播放进度条(android,飞一般的感觉)

随机推荐

  1. Linux学习之Vi和Vim区别是什么?
  2. AndroidStudio 优秀的第三方数据库 Green
  3. AndroidLinearLayout:添加阴影边界Linear
  4. flutter 持久化存储-----数据库sqflite
  5. Drawable和Bitmap转换
  6. Android触摸事件分发之View篇
  7. android使用AIDL跨进程通信(IPC)
  8. 第五章 网络 之 Android网络知识&框架(二)
  9. 解决CardView在5.0以下留白的问题
  10. 干货丨高频数据处理技巧:如何将高频信号转