现在我须要播放网络上下载的GIF,但似乎Movie只能播放本地APP内的Gif文件。
请问有人作过能让MOVIE播放网络GIF的DEMO
先谢了。
请问有人作过能让MOVIE播放网络GIF的DEMO
先谢了。
解决方案 »
- android刷机后用adb连接,显示有root权限,而手机端却无法获取Root权限
- 求助关于调用系统相机保存读取的问题
- UI线程,费时操作和ANR
- 在参数中有void类型是什么意思啊?
- Android SDK 安装时报错!请高手回答!
- 有没有又更UI上的内容,同时又能异步加载?
- Android 2.1源代码中的contacts和contacts provider导入eclipse
- AlertDialog的点击事件报错!!!求大神
- 为什么没有了android选项,请高手指点
- 我的Android用不了为什么
- 关于android里http的问题,麻烦各位指导一下,不甚感激。
- adb是否可以扩展?AT和ADB哪个更好?
private Activity activity;
private Movie mMovie;
private long mMovieStart;
private boolean playing;
private int x, y;
private int expessionId;
private int time;
public GifPlayByMovie(Activity activity) {
this.activity = activity;
}
public void startPlay(int resId, int x, int y, int playtime)
{
if (mMovie != null) {
return;
}
this.x=x;
this.y=y;
expessionId = resId;
mMovieStart = 0;
playing = true;
time = playtime*1000;
}
public void gifplay(Canvas canvas) {
if (!playing) {
return;
}
mMovie = Movie.decodeStream(activity.getResources().openRawResource(
expessionId));
long now = android.os.SystemClock.uptimeMillis(); if (mMovieStart == 0) { // first time
mMovieStart = now;
}
if (mMovie != null) { int dur = mMovie.duration();
if (dur == 0) {
dur = 1000;
}
int relTime = (int) ((now - mMovieStart) % dur);
mMovie.setTime(relTime);
mMovie.draw(canvas, x, y);
// invalidate();
}
long tmp = now - mMovieStart;
if (tmp > time) {
mMovie = null;
//mMovieStart = 0;
playing = false;
}
}
}这样写播放gif时 有时出现花屏 大家遇到过没有?