在图像视图中显示 gif 图像 Android

show gif image in imageview Android

一个非常奇怪的行为,在编写用于在图像视图中显示 GIF 图像的代码时。 我正在做的是

 InputStream is = this.getResources().openRawResource(R.drawable.logo);

logo 是 drawable 文件夹中的 gif 图片。

当我在 Eclipse 中编写那行代码时,图像加载成功,但是当我在 Android Studio 上导入该代码时,我看到的是 R.drawable.logo[ 上的错误=29=]

错误是

原始类型的预期资源 提供了错误类型的资源标识符。例如,当调用 Resources.getString(int id) 时,您应该传递 R.string.something 而不是 R.drawable.something

一个代码在 Eclipse 上运行,而不是在 Android Studio

上运行

我确定导入没有问题。

在进行了一些研发之后,我找到了解决方法

这不是创建可绘制文件夹并将该图像放入其中

在 main/src/assests 中创建资产文件夹并粘贴该图像,然后打开 Input steam。

InputStream is = context.getAssets().open("logo.gif");

对我有用,但仍然不知道为什么

  InputStream is = this.getResources().openRawResource(R.drawable.logo);

没有工作。

您可以尝试使用 ion https://github.com/koush/ion#load-an-image-into-an-imageview 是一个很好的库,用于从本地商店、资源或 Url.

加载图像并支持 gif

简单的解决方案是使用 Glide

compile 'com.github.bumptech.glide:glide:4.3.1'

并加载您的 ImageView

Glide.with(YourActivity.this).load(R.drawable.your_gif).into(yourImageView);