我想在当前活动中播放GIF文件。
我有一个XML文件,其中有一个布局。
我想在同一类活动中播放GIF。
是否有一种简单的方法可以在Activity类中播放GIF文件?
答案 0 :(得分:6)
您可以使用webView。 我将举例说明:
//My activity
public class Gift_Loading extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Gif_loading_View view = new Gif_loading_View(this);
setContentView(view);
}
}
//the webView
public class Gif_loading_View extends WebView{
public Gif_loading_View(Context context) {
super(context);
loadUrl("file:///android_asset/loading_position.html");
}
}
在assets文件夹中添加此html文件:
<html>
<body bgcolor="white">
<table width="100%" height="100%">
<tr>
<td align="center" valign="center">
<br/>
<br/>
<br/>
<font size="6">Please wait...</font>
<br/>
<br/>
<img src="cyclist_loading.gif" />
</td>
</tr>
</table>
</body>
答案 1 :(得分:2)
Android不支持播放动画GIF文件。如果你需要播放它们,那么你需要将它们分成几帧,并逐个动画每一帧。
这样可以拆分GIF文件 http://www.xoyosoft.com/gs/
答案 2 :(得分:0)
有一个示例here,其中创建了自定义AnimatedGifView
类。
它使用android.graphics.Movie
类,并覆盖onDraw
方法以定期重绘视图。这是一段摘录:
gifInputStream = context.getResources().openRawResource(R.drawable.myGIFImage);
gifMovie = Movie.decodeStream(gifInputStream);
gifMovie.setTime((int)movieRunDuration);
gifMovie.draw(canvas, 0, 0);
然而,它可能更适合于convert animated GIFs to AnimationDrawables
。
答案 3 :(得分:0)
<pl.droidsonroids.gif.GifTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/first"
/>
使用代码和你的gif文件放入drawable文件夹.... 并首先使用您的gif文件名更改名称。