强制方形应用程序图标

时间:2018-02-17 20:35:23

标签: android icons android-manifest appicon

我将为使用Android Studio制作的Android应用设置一个方形应用图标。

我使用文件设置自己的应用图标 - >新 - >矢量资产
这会创建一个普通和圆形的应用程序图标。

如果我复制并重命名(ic_launcher_round.png)二次方应用程序图标并将其安装在OnePlus Launcher上,我也会获得圆形图标。

我的标志是方形的,所以看到它是非常难看的。
我如何强制使用二次方应用程序图标?这可能吗?

如果我在我的Manifest.xml中只设置了android:icon="@mipmap/ic_launcher"而不是android:roundIcon="@mipmap/ic_launcher_round"而没有任何变化。

3 个答案:

答案 0 :(得分:4)

如果目标SDK为26且Android设备版本为8,则应用程序图标将为圆形。

实现这一目标的方法之一是(不确定这是否是正确/最好的方式)

在AndroidManifest.xml中,我必须设置

  

机器人:targetSdkVersion =“20”

<uses-sdk android:minSdkVersion=“16" android:targetSdkVersion=“20” />
  

机器人:roundIcon =“@ mip映射/ ic_launcher_round”

<application android:hardwareAccelerated=“true” android:icon=“@mipmap/ic_launcher” android:label=“@string/app_name” android:roundIcon=“@mipmap/ic_launcher_round” android:supportsRtl=“true”>

确保ic_launcher_round图像是平方的。

我使用android studio生成自适应和遗留图标......

我删除了android studio生成的ic_launcher_round图像。

我将ic_launcher图像(通常是Square图标)复制到ic_launcher_round。

现在我的ic_launcher_round是Squared图标。

(ic_launcher_round.png,ic_launcher.png,icon.png)所有这些都是相同的图像

进行此更改后,重建应用程序。现在,您应该在安装应用程序时看到Square图标。

答案 1 :(得分:2)

当启动器决定将其四舍五入时,您应用的图标四舍五入。

“启动器”只是另一个应用程序,就像你的那样,但它不是你的应用程序 - 它完全与它分开,你通常不能影响任何与你的应用程序进程分离的进程,操作系统将禁止。 只有通过使用您的操作系统提供的某种形式的进程间通信(IPC),有时您才能做到这一点,当然,假设您要与之通信的进程也“愿意与之交谈”你[利用相同形式的IPC来允许其他过程改变它的一些行为]。

此外,您使用的Android Studio向导的目的是帮助您生成可立即使用的可绘制文件,这只是为了节省您在一些图像编辑器中自己制作这些可绘制文件的时间。

作为应用程序圆形图标的XML清单文件中的任何可绘制集将在结尾处舍入,无论它看起来如何。我认为你不能指望任何当前可用的主要启动器应用程序将某些应用程序的图标显示为圆形,而某些应用程序的图标显示为方形。这会严重损害其用户体验。

我担心你必须适应这种情况,并使你的方形应用程序的徽标稍微小一点,并在它周围留下一些空白空间,以允许最终用户的启动器应用程序围绕此徽标绘制一个圆圈。

在这里,您可以找到设计Android应用启动器图标的官方建议:https://material.io/guidelines/style/icons.html#icons-icons-for-androidhere,您可以阅读有关Android应用图标主题的最新方法:自适应图标。任何其他类型的图标都可以视为“遗留”,并且仅在出于兼容性原因时使用,目标是低于26的API。

编辑: 在评论部分,OP提到了一些应用程序,这些应用程序目前在其最新版本中都有方形图标,结果实际上是其开发人员的一个小型UX设计漏洞。

就像一个例子,我已经下载了提到的Bytecoin app OP,这就是我的手机Android 7.0上的样子: Red object cut off

角落里的红色物体被截断了。我认为我们可以假设Google Play上显示的每个其他应用程序都带有方形徽标[在商店页面看起来很好,因为Google Play允许使用方形徽标]在安装在具有现代版本启动器的手机上会显得很糟糕,尤其是api&gt ; = 26

答案 2 :(得分:0)

自Android 8.0(Oreo)起

现在在此处介绍了为Android设计应用程序图标的新方法:

  

Android 8.0(API级别26)引入了自适应启动器图标,可以在不同设备型号上显示各种形状。

使用自适应图标时,启动器图标分为两层:前景背景(请参见Creating adaptive icons in XML)。

形状(圆形,正方形...)可能会因系统/启动器设置而异。

Android 8.0之前的版本

可以通过以下方式生成旧版图标:Create a legacy launcher icon