在android项目中包含.gif文件

时间:2015-09-26 04:26:19

标签: android

我的问题是如何在我的游戏中将一个带有火的小gif附加到我的宇宙飞船底部。如果你有任何想法,我会喜欢加热它们。 谢谢!

3 个答案:

答案 0 :(得分:1)

我强烈建议您使用新的 Fresco 库(由Facebook制作)。它可以处理各种图像加载,并且可以高度自定义。

  • 玩GIF最快(比离子快)
  • 易于使用

将此依赖项包含在build.gradle中:

dependencies {
  // your app's other dependencies
  compile 'com.facebook.fresco:fresco:0.7.0+'
}

以下是如何设置Fresco的链接: http://frescolib.org/docs/getting-started.html#

要玩gif,你应该这样做:

SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.gif_draweeview);

Uri uri = Uri.parse("res:///" + R.drawable.gif_animation);
DraweeController controller = Fresco.newDraweeControllerBuilder()
            .setUri(uri)
            .setControllerListener(new ControllerListener<ImageInfo>() {
                @Override
                public void onSubmit(String s, Object o) {

                }

                @Override
                public void onFinalImageSet(String s, ImageInfo imageInfo, final Animatable animatable) {
                    if(animatable != null) {
                        animatable.start();
                    }
                }

                @Override
                public void onIntermediateImageSet(String s, ImageInfo imageInfo) {

                }

                @Override
                public void onIntermediateImageFailed(String s, Throwable throwable) {

                }

                @Override
                public void onFailure(String s, Throwable throwable) {

                }

                @Override
                public void onRelease(String s) {
                }
            })
            .build();
draweeView.setController(controller);

答案 1 :(得分:0)

尝试WebView

public class Gif extends WebView 
...
public Gif (Context context, String url) {

      super(context);
      loadUrl(url);
}

然后:

Gif gif = new Gif (this, "pathtogif.gif");

setContentView(gif);

答案 2 :(得分:0)

您好使用此链接获取图书馆
https://github.com/koush/ion

#include <iostream>
#include <string>
using namespace std;

int main() {

    while(1) {
        int input;
        cout << "---> ";
        cin >> input;
        if(cin.fail()) {
            char rd = cin.get();
            cout << "failure" << rd << "=" << cin.fail() << " " << endl;
        }
    }


    return 0;
}