【问题标题】:How to play a GIF file in Android?如何在 Android 中播放 GIF 文件?
【发布时间】:2011-11-10 12:48:42
【问题描述】:

我想在我当前的活动中播放一个 GIF 文件。

我有一个 XML 文件,其中有一个布局。

我想在同一个类Activity中播放GIF。

有没有简单的方法在 Activity 类中播放 GIF 文件?

【问题讨论】:

标签: android gif android-image


【解决方案1】:

您可以使用 web 视图。 我将举一个例子:

//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>

【讨论】:

    【解决方案2】:

    Android 不支持播放动画 GIF 文件。如果您需要播放它们,则需要将它们分成帧,并逐帧动画。

    这将让您拆分 GIF 文件 http://www.xoyosoft.com/gs/

    【讨论】:

    【解决方案3】:

    有一个示例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 可能更合适。

    【讨论】:

      【解决方案4】:
      <pl.droidsonroids.gif.GifTextView
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:background="@drawable/first"
          />
      

      使用代码和您放入可绘制文件夹的 gif 文件.... 并先用您的 gif 文件名更改名称。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-06
        • 1970-01-01
        • 1970-01-01
        • 2013-12-23
        • 2022-11-14
        • 2014-12-29
        • 2019-03-02
        • 2013-05-15
        相关资源
        最近更新 更多