为什么 Glide 不会从资源 ID 加载图像到我的 ImageView?
Why won't Glide load an image from resource ID to my ImageView?
我已经获得了我的应用程序所需的所有图像,我正在尝试加快速度并使其如丝般顺滑,所以我一直在使用 Glide 加载图像并且它在其他领域也有效我的应用程序,但不在我的 viewpager 中。
在我的片段中,我正尝试像这样加载我的图像
Glide.with(this).load(R.drawable.my_drawable).into(myImageView);
没有任何事情发生或出现,我也没有从 Glide 收到异常或任何类型的错误消息。
查看 Debugging and Error Handling wiki 页面以启用日志记录。这应该会告诉您加载是否失败以及原因。
如果您没有看到错误日志,则可能是您的视图没有大小,因为它的大小为 0,或者因为它没有经过布局(可见性设置为 View.GONE
等).如果是这样,您可以通过使用任何有效的宽度和高度添加对 override()
的调用来测试检查(尝试 400, 400
或仅用于测试的东西)。
如果调用 override()
解决了问题,请查看您的 xml 并查看是否可以将视图更改为具有固定大小,或者至少最终以有效尺寸。如果一切都失败了,你总是可以用 Target.SIZE_ORIGINAL
作为宽度和高度来调用 override()
。
我知道这个问题早就结束了,但我通过使用占位符或错误图像找到了一个很好的解决方案。
所以你可以试试
Glide.with(<<MyActivity>>)
.load("")
.placeholder(<<myDrawable>>)
.into(imageView);
不确定这是否是您想要的,但如果其他人也有同样的问题,至少这看起来工作最少。 :)
如果您使用的是 Vector 或 SVG,您的 Glide 版本可能不支持并无法加载。
生成一堆警告日志导致负载 url 为“”。如果您不想要警告日志,
试试这个:
int drawableIdentifier = activity.getResources().getIdentifier("my_drawable_image_name", "drawable", activity.getPackageName());
Glide.with(activity)
.load(drawableIdentifier)
.into(imageView);
我已经获得了我的应用程序所需的所有图像,我正在尝试加快速度并使其如丝般顺滑,所以我一直在使用 Glide 加载图像并且它在其他领域也有效我的应用程序,但不在我的 viewpager 中。
在我的片段中,我正尝试像这样加载我的图像
Glide.with(this).load(R.drawable.my_drawable).into(myImageView);
没有任何事情发生或出现,我也没有从 Glide 收到异常或任何类型的错误消息。
查看 Debugging and Error Handling wiki 页面以启用日志记录。这应该会告诉您加载是否失败以及原因。
如果您没有看到错误日志,则可能是您的视图没有大小,因为它的大小为 0,或者因为它没有经过布局(可见性设置为 View.GONE
等).如果是这样,您可以通过使用任何有效的宽度和高度添加对 override()
的调用来测试检查(尝试 400, 400
或仅用于测试的东西)。
如果调用 override()
解决了问题,请查看您的 xml 并查看是否可以将视图更改为具有固定大小,或者至少最终以有效尺寸。如果一切都失败了,你总是可以用 Target.SIZE_ORIGINAL
作为宽度和高度来调用 override()
。
我知道这个问题早就结束了,但我通过使用占位符或错误图像找到了一个很好的解决方案。 所以你可以试试
Glide.with(<<MyActivity>>)
.load("")
.placeholder(<<myDrawable>>)
.into(imageView);
不确定这是否是您想要的,但如果其他人也有同样的问题,至少这看起来工作最少。 :)
如果您使用的是 Vector 或 SVG,您的 Glide 版本可能不支持并无法加载。
试试这个:
int drawableIdentifier = activity.getResources().getIdentifier("my_drawable_image_name", "drawable", activity.getPackageName());
Glide.with(activity)
.load(drawableIdentifier)
.into(imageView);