【问题标题】:ldpi icons not showing androidldpi图标不显示android
【发布时间】:2016-06-28 11:15:08
【问题描述】:

我有一个应用程序,它的按钮带有我在布局中指定的背景图像。对于 mdpi 及更高版本,它工作正常,您可以看到图像。但我最近开始在一台小型设备上进行测试,发现背景只显示黑色。然后我检查了我需要的屏幕尺寸(小)并检查了密度,在这种情况下我看到的是 ldpi。所以我将 mdpi 图像重新缩放为 36x36 并创建了一个 mipmap-ldpi 文件夹。 Android Studio 在设计时看到了它,但由于某种原因它没有在运行时被拾取。所以我用谷歌搜索了一下,发现我可能必须通过 Android Studio 手动添加它们。所以我创建了一个新的资源目录,我将密度指定为 ldpi,如下所示:

然后我为每个图标添加了一个同名的新文件并选择了 ldpi 文件夹,如下所示:

然后选择ldpi目录:

然后我为每个图标/图像输入了与所有其他密度相同的名称。

毕竟我仍然得到黑色背景,所以我想让我尝试以编程方式分配背景。然后就可以了。谁能帮我解释为什么在布局文件中指定它时它不起作用。我有一个专门用于小屏幕的布局文件。我还必须指定密度吗?

为图片道歉。我发现我还不能嵌入,因为我的声誉太低了。

更新 1:

按照建议将所有图标移至 Drawables,它仍在这样做。 阅读不再真正支持 LDPI 的其他文章,然后回答问题是通过不支持具有 LDPI 密度的设备来解决问题。 但是第二天在具有 HPDI 密度的旧 S2 上发现了同样的问题。因此,除非另有证明,否则它可能不再是 LDPI 问题。希望我们能找到问题并解决它。

【问题讨论】:

  • 将你的图标放在drawable-lpi、drawable-hdpi等中。mipmap-仅用于应用程序图标stackoverflow.com/a/28065664/343679
  • @Sharj,感谢您回复我。根据 Akeshwar 给我的建议,我现在已经这样做了,但我仍然得到相同的结果。有什么想法吗?

标签: android android-layout android-studio


【解决方案1】:

mipmap 目录用于存储启动器图标。它们不在应用程序内部使用,而是在主屏幕和应用程序列表中使用。

原因是,当请求来自可绘制目录的资源时,会从与当前密度匹配的文件夹中选择一个位图。但是,当您使用 mipmap 可绘制对象时,启动器可能会从不同的文件夹中选择一个图标(通常是放大)。这就是您没有看到 ldpi 图标的原因。

某些启动器实际上显示的图标比预期的要大。因此,使用启动器的 mipmap 会有所帮助。

同时检查this link

总结:为应用内使用的图标使用可绘制对象,为应用的启动器图标使用 mipmap。

【讨论】:

  • 嗨@Akeshwar。感谢您的回复。我将所有图标移动到可绘制并将所有引用更改为可绘制。它还在做。所以我选择了 Invalidate Caches / Restart ... 并再次尝试,但按钮仍然是黑色的。你能想到为什么它还在这样做吗?
  • 理想情况下,它应该可以工作。但既然没有,您可以尝试从头开始再次将图标添加为图像资源。 (在侧面导航中,单击打开res 文件夹。然后右键单击可绘制文件夹 -> 新建 -> 图像资源 -> 操作栏和选项卡图标。资源类型:图像 -> 下一步 -> 完成)。如果可行,请更新。
  • 嗨@Akeshwar。感谢您的回复。我之前尝试过,但 Asset Studio 仅从 mdpi 向上添加。然后我再次遇到同样的问题来添加 ldpi 文件夹并得到相同的结果。从昨天开始,我还看到几篇文章表明 ldpi 支持已停止。这是其中之一stackoverflow.com/questions/16281570/…。而且在谷歌仪表板上,他们指出使用 Google Play 的设备中有 2.2% 仍然支持 ldpi,所以我将取消对 ldpi 的支持。感谢您的支持。
【解决方案2】:

抱歉。我错误地问了我的问题。我以为是图标,但我忽略了我从 Layer-List drawables 中调用图标。如果您没有明确提及透明作为颜色,那么在某些运行 Android 4.0 和 4.1 的设备上,Layer-List 会显示为黑色。我现在可以看到所有来自 ldpi 的图标了。

感谢您的帮助。参考链接:Android xml layer-list not displayed correctly on some devices

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    相关资源
    最近更新 更多