关于android中的gif实现
在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的一种方式也是最容易理解的一种方式。
更多相关文章
- MPAndroidChart项目实战(七)——自定义横向柱状图
- Android(安卓)Animation
- android tab和listiew
- Android自定义属性时TypedArray的使用方法
- android中自定义SeekBar
- 自定义实现圆形播放进度条(android,飞一般的感觉)
- android Animation
- Android自定义Transition动画
- Android与HTML JavaScript交互