在编写用于在图像视图中显示GIF图像的代码时,这是一种非常奇怪的行为。 我在做什么
InputStream is = this.getResources().openRawResource(R.drawable.logo);
徽标是可绘制文件夹中的gif图像。
当我在Eclipse中编写该行代码时,图像加载成功,但是当我在Android Studio上导入该代码时我看到的是R.drawable.logo上的错误
,错误是
原始类型的预期资源 提供错误类型的资源标识符。例如,当调用Resources.getString(int id)时,你应该传递R.string.something而不是R.drawable.something
一个代码在Eclipse上运行,而不是在Android Studio上运行
我确信导入没问题。
答案 0 :(得分:1)
在做了一些R& D之后我找到了解决方法
而不是创建可绘制文件夹并将该图像放入其中
在main / src / assests中创建assets文件夹并粘贴该图像,然后打开Input steam。
InputStream is = context.getAssets().open("logo.gif");
这对我有用,但基本不知道答案为什么
InputStream is = this.getResources().openRawResource(R.drawable.logo);
没有用。
答案 1 :(得分:0)
你可以尝试使用ion https://github.com/koush/ion#load-an-image-into-an-imageview是一个很好的库,用于加载图片并支持来自本地商店,resorces或来自Url的gif。
答案 2 :(得分:0)
简单的解决方案是使用 Glide 库
compile 'com.github.bumptech.glide:glide:4.3.1'
加载你的ImageView
Glide.with(YourActivity.this).load(R.drawable.your_gif).into(yourImageView);