首页 > 解决方案 > 摆脱 Android Studio 上启动器图标的 Image Asset 边距

问题描述

我正在努力摆脱 Android Studio 生成的 ic 启动器图标周围的额外边距,但没有运气。我知道这是 Google 的材料设计趋势之一。不过,这些图标在丑陋的设备上太小了。

我已经用谷歌搜索了大约三个小时,我能找到的唯一解决方法是生成具有透明背景的剪贴画,然后用 Photoshop 制作带有圆角的背景,这非常慢。

还有比这更好的解决方案吗?

谢谢你。

标签: androidandroid-studio

解决方案


根据设计自适应图标博客文章,在drawable目录中创建的用于 API 26+ 设备的自适应图标图像遵循自适应图标大小和形状:

自适应图标大小

您会注意到,虽然整个图像必须为 108dp x 108dp,但实际可视区域仅为中心 72dp - 只有在拖动图标时才能看到外边缘(视差效果可能会导致它可见)。

Pixel Launcher 以及许多第三方启动器都强制在 API 26+ 设备上使用自适应图标,因此您在设计时应始终牢记这一要求 - 例如,在 Pixel Launcher 的情况下,替代方案是将您的白色圆圈内的非自适应图标。

因此,您应该始终设计您的图标,使背景层占据全尺寸,但您放置在该背景层顶部的任何前景图像都应包含在该中心区域内。

您不能在不弄乱前景图像的情况下仅删除该边距,但是根据实施自适应图标后续博客文章,您可以通过将修剪后的图像放在 108dp x 108dp 的透明可绘制对象中来删除前景周围的任何白色多余部分通过使用InsetDrawable.

<!-- Center a 54x54dp image in the 108x108dp size of adaptive icons -->
<inset
  android:drawable="@mipmap/ic_fg_trimmed"
  android:insetLeft="25%"
  android:insetTop="25%"
  android:insetRight="25%"
  android:insetBottom="25%" />

尽管这必须是您ic_launcher_foreground事后需要自己对图像执行的操作。

在大多数情况下,更好的解决方案是使用矢量可绘制图像作为 Android Studio Image Asset 向导的输入 - 这将确保它们始终具有正确的大小并且不会占用 APK 中的任何额外空间。


推荐阅读