Android显示GIF动画完整示例(二)
来源:互联网 发布:vb 日期格式转string 编辑:程序博客网 时间:2024/05/17 23:36
MainActivity如下:
package cc.testgif2;import android.os.Bundle;import android.app.Activity;/** * Demo描述: * 利用自定义View控件显示GIF动画 * 详细代码参见GIFView * * 参考资料: * http://blog.csdn.net/dawanganban/article/details/9816083 * Thank you very much */public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}}
GIFView如下:
package cc.testgif2;import android.content.Context;import android.graphics.Canvas;import android.graphics.Movie;import android.util.AttributeSet;import android.view.View;public class GIFView extends View { private Movie mMovie; private long startTime; private int gifDuration; private boolean isBeginPlay=true;public GIFView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);init();}public GIFView(Context context, AttributeSet attrs) {super(context, attrs);init();}public GIFView(Context context) {super(context);init();}private void init(){mMovie = Movie.decodeStream(getResources().openRawResource(R.drawable.gif));gifDuration= mMovie.duration();}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);// 从开机到现在的毫秒(不包括手机睡眠的时间在内)long currrentTime = android.os.SystemClock.uptimeMillis();// 第一次播放if (isBeginPlay) {startTime = currrentTime;isBeginPlay = false;}int playTime = (int) ((currrentTime - startTime) % gifDuration);mMovie.setTime(playTime);mMovie.draw(canvas, 0, 0);// 重绘invalidate();}}
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" android:layout_centerHorizontal="true"/> <cc.testgif2.GIFView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /></RelativeLayout>
- Android显示GIF动画完整示例(二)
- Android显示GIF动画完整示例(一)
- Android显示GIF动画
- Android显示GIF动画
- Android显示GIF动画
- Android 显示gif动画
- Android显示GIF动画
- Android 显示gif动画
- android 显示GIF动画
- Android显示GIF动画问题
- Android中显示gif动画
- Android显示GIF动画 GifView
- Android显示GIF动画GifView
- Android中显示GIF动画
- GifView——Android显示GIF动画
- 在Android中显示GIF动画
- GifView——Android显示GIF动画
- GifView——Android显示GIF动画
- 逻辑问题
- Oracle 技术网
- Android移植技术!
- JNI介绍
- IT外企那点儿事(22): 跳槽小技巧
- Android显示GIF动画完整示例(二)
- Woring Practice -每次修改进行code review
- 函数的覆盖和隐藏
- [Effective C++]条款30: 避免这样的成员函数:其返回值是指向成员的非const指针或引用,但成员的访问级比这个函数要低
- IT外企那点儿事(23): 离弦没有回头箭
- Android显示GIF动画完整示例(一)
- 关于取地址和引用
- CentOS中使用shell的命令补全
- hdu 4737