早在2017年就有了Android自适应图标,一直没来得及学习,这里有篇官方文章介绍:https://medium.com/google-design/understanding-android-adaptive-icons-cee8a9de93e2、https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive、https://developer.android.com/studio/write/image-asset-studio、https://developer.android.com/studio/write/image-asset-studio
Android 12版本自带SplashScreen:https://developer.android.com/about/versions/12/features/splash-screen
Meterial Design提供的各种图标:https://fonts.google.com/icons、中文翻译:https://www.mdui.org/design/
官方英文文档:
http://www.google.com/design/spec/material-design/
中文版网站:
http://wiki.jikexueyuan.com/project/material-design/
中文版 GitHub 仓库:
https://github.com/1sters/material_design_zh_2
中文版第一版网站(已关停):
http://design.1sters.com
中文版第一版 GitHub 仓库:
https://github.com/1sters/material_design_zh
另外,对于Andorid状态栏上的图标大小,早期版本的Android文档上有谙说明:https://stuff.mit.edu/afs/sipb/project/android/docs/guide/practices/ui_guidelines/icon_design_status_bar.html,最新文档的找不到这个知识点在哪了。https://www.creativefreedom.co.uk/icon-designers-blog/android-app-icon-size-guide-4-0/
关于用在栏中的Smarll Icon和Large Icon:
系统图标:https://material.io/design/iconography/system-icons.html#system-icon-metrics
各种密度对应的图标大小:
LDPI should be 36 x 36.
MDPI should be 48 x 48.
TVDPI should be 64 x 64.
HDPI should be 72 x 72.
XHDPI should be 96 x 96.
XXHDPI should be 144 x 144.
XXXHDPI should be 192 x 192.
其中mdpi是标准密度,其它的则是乘以相对的比例即可得到,如下:
LDPI is MDPI x 0.75
TVDPI is MDPI x 1.33
HDPI is MDPI x 1.5
XHDPI is MDPI x 2
XXHDPI is MDPI x 3
XXXHDPI is MDPI x 4
不要使用.9图片来制作启动图标,应该为每一个密度分别制作启动图标,而不能一个.9图片用在各个密度的启动图标,启动图标不能用.9图片。
针对不同的屏幕像素密度,Android 图标需要五种不同的尺寸。较低分辨率的图标是从基线自动创建的:
mdpi (Baseline): 160 dpi 1×
hdpi: 240 dpi 1.5×
xhdpi: 320 dpi 2×
xxhdpi: 480 dpi 3×
xxxhdpi: 640 dpi 4× (launcher icon only)
启动器图标 (.Png):
48 × 48 (mdpi)
72 × 72 (hdpi)
96 × 96 (xhdpi)
144 × 144 (xxhdpi)
192 × 192 (xxxhdpi)
512 × 512 (Google Play store)
启动图标还需要一些空白填充,如下:
48 × 48 (mdpi) 1 dp 填充
72 × 72 (hdpi),1 dp 填充
96 × 96 (xhdpi),1 dp 填充
144 × 144 (xxhdpi),1 dp 填充
192 × 192 (xxxhdpi) , 4 dp 填充
操作栏、对话框和选项卡图标:
24 × 24 area in 32 × 32 (mdpi)
36 × 36 area in 48 × 48 (hdpi)
48 × 48 area in 64 × 64 (xhdpi)
72 × 72 area in 96 × 96 (xxhdpi)
96 × 96 area in 128 × 128 (xxxhdpi)*
通知图标:
22 × 22 area in 24 × 24 (mdpi) 这意思是图标大小为24 x 24,图标内容大小为22 x 22,也就是周围有一个空白像素。
33 × 33 area in 36 × 36 (hdpi)
44 × 44 area in 48 × 48 (xhdpi)
66 × 66 area in 72 × 72 (xxhdpi)
88 × 88 area in 96 × 96 (xxxhdpi)*
小的上下文图标:
16 × 16 (mdpi)
24 × 24 (hdpi)
32 × 32 (xhdpi)
48 × 48 (xxhdpi)
64 × 64 (xxxhdpi)*
正如Supporting multiple Screens官方网站所说,只有启动器图标需要的 xxxhdpi 大小。
官网中关于各种密度的说明:https://developer.android.com/training/multiscreen/screendensities
关于启动图标要放在mipmap中:https://developer.android.com/training/multiscreen/screendensities#mipmap
自动生成各种大小的启动图标:https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html
通过此官网可下载图标,会自动生成各种大小的图标:https://fonts.google.com/icons