Android 8应用方形美观图标实现方法咨询
搞定Android 8上的方形美观图标
我之前刚好碰到过完全一样的问题——企业死死要求图标必须是方形,可Android 8+默认的自适应图标机制总让图标变得怪里怪气(就像你说的LinkedIn那种丑样子)。研究了那些显示正常的方形图标APP(比如Morning Routine、Norsk Tipping)之后,终于搞懂了它们的套路:根本不是绕过自适应图标,而是把自适应图标用对了,照样能显示完美的方形。
下面是我亲测有效的实现步骤:
1. 正确构建自适应图标
自适应图标分前景、背景两层,我们可以通过这两层的配合实现方形效果:
- 背景层:做一个纯色(或者和你图标背景色完全一致)的方形Drawable,比如命名为
ic_launcher_background.xml,让它填满整个自适应图标容器就行。要是你的图标本身是透明背景,直接把背景设为透明也可以。 - 前景层:把你的方形应用图标导出成PNG(比如
ic_launcher_foreground.png),注意别留多余空白,让图标内容尽量占满前景区域。
接下来在res/mipmap-anydpi-v26/目录下新建自适应图标配置文件ic_launcher.xml,内容如下:
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <background android:drawable="@drawable/ic_launcher_background" /> <foreground android:drawable="@drawable/ic_launcher_foreground" /> <!-- 关键:设置inset为0,让前景完全填满容器,避免系统自动留白 --> <inset android:inset="0dp" /> </adaptive-icon>
2. 适配不同分辨率
别忘了给mipmap-hdpi/、mipmap-xhdpi/等各个分辨率目录都放上对应尺寸的前景图标,不然在某些设备上会模糊。
3. 兼容旧系统
Android 7及以下的设备不支持自适应图标,所以继续保留传统的方形图标(mipmap/ic_launcher.png)就行,旧系统会直接用这个图标,不会搞什么自动裁剪。
4. 终极技巧:彻底摆脱系统圆角干扰
如果你们企业要求绝对严格的方形,连系统设置的圆角都不能有,那可以这么做:
- 把前景图标设计得比自适应图标容器小一圈,留出的空间刚好等于系统最大圆角半径(一般是容器边长的20%),这样就算系统给图标套圆角,也只会裁到空白区域,碰不到你的图标内容;
- 背景层用和图标边缘一致的颜色填充,这样视觉上整体还是完美的方形,完全看不出被裁剪过的痕迹。
按这个方法弄完,你的APP在Android 8上的图标就会和Morning Routine那些应用一样美观,同时完美满足企业的方形要求。
内容的提问来源于stack exchange,提问作者Dambakk
相关产品推荐
相关产品推荐

