我正在努力摆脱由Android Studio生成的ic启动器图标周围的多余空白而没有运气。我知道这是Google的材料设计趋势之一。不过,这些图标在设备上很小,很难看。
我已经在Google上搜索了大约三个小时,我唯一能找到的解决方法是生成具有透明背景的剪贴画,然后将带有圆角的背景photoshop加工成非常慢的速度。
有没有比这更好的解决方案了?
谢谢。
答案 0 :(得分:0)
对于Designing adaptive icons blog post,在drawable
目录中创建的用于API 26+设备的自适应图标图像遵循自适应图标的大小和形状:
您会注意到,虽然整个图像必须为108dp x 108dp,但实际的可视区域仅是中心72dp-仅在拖动图标周围(视差效果时,才能看到外部边缘)可能会使它可见)。
Pixel Launcher以及许多第三方启动器都在API 26+设备上强制使用自适应图标,因此您在设计时应始终牢记这一要求-例如,在Pixel Launcher的情况下,替代方案是将您的非自适应图标放置在白色圆圈内。
因此,您应该始终设计图标,使背景层占据整个尺寸,但是放置在该背景层之上的任何前景图像都应包含在该中心区域内。
您不能在不弄乱前景图像的情况下删除空白,但是根据Implementing Adaptive Icons follow up blog post,您可以通过放置修剪的图像来去除前景周围的白色多余部分通过使用InsetDrawable
在108dp x 108dp的透明可绘制对象中。
<!-- 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图像资产向导的输入-这将确保它们始终是正确的大小,并且不会占用APK中的任何额外空间。
答案 1 :(得分:0)
我认为我和你有同样的问题。我用一个讨厌的方法解决了这个问题,在AndroidManifest.xml中,我只是将roundIcon更改为指向标准图标。
<application
…
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher"
从the docs中了解更多信息。