一、概述
1.1 ICON
在 Android 的 ui 设计与开发过程中,图标(ICON)的地位显得尤为重要。ICON 大致分为 7 类:
1.2 支持多种屏幕
参见:https://developer.android.com/guide/practices/screens_support.html
由于 Android 系统运行在不同屏幕尺寸和密度的设备上,Android 为了适应这种情况,为用户提供良好的界面显示,从底层向上提供一致的开发环境。
屏幕支持分类:
四种通用尺寸:小、正常、 大 和超大
六种通用的密度:
- ldpi(低)~120dpi
- mdpi(中)~160dpi
- hdpi(高)~240dpi
- xhdpi(超高)~320dpi
- xxhdpi(超超高)~480dpi
- xxxhdpi(超超超高)~640dpi
故而,支持多种屏幕有如下几种方式:
- 在清单中显式声明您的应用 支持哪些屏幕尺寸
- 为不同屏幕尺寸提供不同的布局
layout-xxx:small、normal、large 和 xlarge - 为不同屏幕密度提供不同的位图可绘制对象
drawable-xxx: ldpi(低)、mdpi(中)、 hdpi(高)、xhdpi(超高)、xxhdpi (超超高)和 xxxhdpi(超超超高)
1.3 drawable 与 mipmap 的区别
https://segmentfault.com/q/1010000002603418
二、ICONS 适配
2.1 配置限定符
用于为不同屏幕配置提供特殊资源的配置限定符
2.2 图片尺寸与密度对应关系
备注:
参考了多个项目发现,大部分项目(即时是 Google 提供的官方项目)均未按上述标准进行开发。
- mdpi:32*32(32bit Color)
- hdpi:48*48(32bit Color)
- xhdpi:64*64(32bit Color)
- xxhdpi:92*92(32bit Color)
例如:
从官方文章中下载的“操作栏图标包”及“示例应用”显示:
https://developer.android.com/training/implementing-navigation/nav-drawer.html
Launcher Icons:
m –> xxh 符合规范
- l:36*36
- m:48*48
- h:72*72
- xh:96*96
- xxhh:144*144
ActionBar Icons:
与规范不符
- m:32*32
- h:48*48
- xh:64*64
- xxhh:96*96
Menu Icons:
与规范不符
- m:32*32
- h:48*48
- xh:64*64