应用程序运行时,约束布局不显示ImageView中的图像

我试图在Android Activity(ConstraintLayout)中通过ImageView添加一些图像,在Android Studio预览屏幕上,它正确显示图像,但是当我在真实设备或模拟器上运行应用程序时,它没有显示图像。

以下是我正在使用的代码,

           

Android Studio中的UI预览如下,

UI预览

我们可以看到这里显示的是3张图片,

但是当我在模拟器或真实设备上运行应用程序时,它没有显示任何3个图像。 下面是模拟器的截图,

模拟器视图

  • @ dimen / rates_icon_size的值:36dp
  • 三个图像尺寸,
    1. icon_rates:87×59像素
    2. icon_schedule:88×78像素
    3. icon_payout:60×82像素

请通过提供查询解决方案帮助我,提前致谢。

在ImageView而不是使用srcCompact使用src

   

代替

   

我认为你的图像是问题所在。 至少它不是一个优雅的解决方案。

如果您的应用应该在不同的设备上运行,那么您应该使用Android Vector Drawables而不是普通的PNG图像。 使用矢量drawable而不是位图可以减小APK的大小,因为可以针对不同的屏幕密度调整相同的文件大小而不会降低图像质量。

如果你想使用你的图像,那么你应该首先以SVG格式(使用Inkscape,例如它是免费的)转换它们,然后使用这个免费的在线工具以Vector Drawable格式转换它们。

第二种解决方案是使用Material Design Icons 。 它们与许多设计人员共同开发,以确保良好的用户体验,并且还提供矢量可绘制格式。

我用矢量drawables尝试你的代码,应用程序显示图像没有问题。