【问题标题】:Why do menu item background image looks different on different phones?为什么菜单项背景图像在不同手机上看起来不同?
【发布时间】:2013-09-02 10:34:04
【问题描述】:

我的应用的操作栏中有一个菜单项。我正在使用以下代码行为该菜单项设置背景图像:

 menu.findItem(R.id.refresh_item).setIcon(R.drawable.icon_bg);

它适用于我的三星 s3。但是当我在 Nexus 手机上运行这个应用程序时,它看起来非常小。

以下是两款手机的屏幕截图。

对于三星 s3:

对于 Nexus:

知道为什么它在 Nexus 手机中看起来不一样,我该如何解决它。提前致谢。

【问题讨论】:

  • 您是否为所有像素密度创建了图标?
  • 对于不同的像素密度,您应该使用不同的图像,这因设备而异。为 HDPI、LDPI 和 MDPI 使用不同的图像。
  • 现在我制作了 3 个不同像素的图像:120*90、160*120、240*180 并将它们放入 drawable-hdpi、drawable-xhdpi 和 drawable-xxhdpi。所有图像的分辨率相同。但这没有任何区别
  • @Piscean 你找到解决方案了吗?我也面临同样的问题。
  • @Akash 没有兄弟。我改变了我的设计。仍在寻找答案:(

标签: android android-actionbar menuitem android-menu


【解决方案1】:

您需要为不同的屏幕分辨率保留单独的图像。您当前的图像适用于具有 xhdpi 分辨率的 S3,但在具有不同屏幕密度的 nexus 上看起来很糟糕(最新的 nexus 是 xxhppi)。创建另一个可绘制对象(drawable-xhdpi、drawable-xxhdpi)并在其中保留适当分辨率的图像。

点击以下链接了解详情:

http://developer.android.com/guide/practices/screens_support.html

http://developer.android.com/design/style/iconography.html

【讨论】:

  • 现在我正在使用尺寸为 122*90 和分辨率为 96 的图像。你能告诉我对于 xxhdpi,我应该为相同的背景图像使用哪种尺寸和分辨率?
  • 它基于比率。我建议您检查我上面提到的链接。你会得到所有的答案。它非常重要的概念。花点时间阅读链接。
  • 我阅读了该文档,据我了解,如果 mhdpi 背景大小为 80*60,则 xxhdpi 大小应为 240*180。我试过了,但没有用。我理解错了吗?
  • 是的,比率是 mdpi:hdpi:xhdpi:xxhdpi -> 1x:1.5x:2x:3x。您使用的是哪个连接?它是 xxhdpi 还是一些旧版本的 nexus? 80*60 的图像是否适用于 mdpi 屏幕?
  • 我只有三星s3和galaxy nexus。我制作了png图像并将其放在每个文件夹中。 mdpi 为 80*60,hdpi 为 120*90,xhdpi 为 160*120,xxhdpi 为 240*180。所有图像都具有相同的名称 (icon_bg.png)。我认为现在它应该由android自动选择。你能告诉我我做错了什么吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-03
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
相关资源
最近更新 更多