根据动作栏图标,mdpi 屏幕的动作栏图标应为 24 x 24 像素,但 mdpi 的动作栏图标包中的图标为 32 x 32 像素。尺寸也不匹配其他屏幕尺寸。那么哪一个是正确的,动作栏图标应该有什么尺寸呢?
5 回答
--------更新2015.10.17--------
新的谷歌设计指南说:“系统图标以 24dp 显示”,“图标内容仅限于 20 x 20dp 的活动区域,周边有 4px 的修剪”。如:
我使用 AppCompat ActionBar 进行了更多测试。我发现,ActionBar 会自行执行最小 48dp 触摸目标大小。我还发现,AppCompat ActionBar 仍然需要 32dp 正方形大小的操作栏图标。
即使使用 Material Design,图标仍然必须遵循“完整资源:32x32 dp;光学正方形:24x24 dp”的规则,才能在操作栏中与其他图标一起具有正确的大小,如下图(来自 wangqi060934 的答案)所示:
我之前的假设(见下图)认为整个资产大小从 32dp 扩展到 48dp 是不正确的。48dp 是指触控区域。混淆是由修改后的Material Icon Spec 文档引起的,该文档链接在更旧的ActionBar 文档中。
来自https://www.google.com/design/spec/style/icons.html#icons-system-icons
来自http://www.google.com/design/spec/layout/metrics-keylines.html#metrics-keylines-sizing-by-increments
使用 Android Studio 图像资源
去:
- 项目> res --> 右键单击
- 新>图像资产->图标类型:操作栏和标签图标
- 下一步>完成。
现在您将拥有正确分辨率的图标。
如下链接所示的完成的操作栏图标尺寸应该是。 https://developer.android.com/guide/practices/ui_guidelines/icon_design_action_bar.html
低密度屏幕
ldpi (120 dpi) --> 18 x 18 px
中密度屏幕
mdpi (160 dpi) --> 24 x 24 px
高密度屏幕
hdpi (240 dpi) --> 36 x 36 px
超高密度屏幕
xhdpi (320 dpi) --> 48 x 48 px
XX-高密度屏
xxhdpi (480 dpi) --> 72 x 72 px
XXX-高密度屏
xxxhdpi (640 dpi) --> 96 x 96 px