强制方形应用程序图标

forcing square app icon

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

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

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

我的Logo是正方形的,圆形的很难看。
我如何强制使用二次方应用程序图标?这可能吗?

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

您的应用程序的图标在启动器决定使它变圆时变圆。

"launcher" 只是另一个应用程序,就像您的应用程序一样,但它不是您的应用程序 - 它与其完全分离,并且您通常无法影响与您的应用程序进程分离的任何进程, OS 将禁止这样做。 只有在某些情况下,您才能通过使用 OS 提供的某种形式的进程间通信 (IPC) 来做类似的事情,当然假设您要与之通信的进程也是 'willing to talk' 与你 [利用相同形式的 IPC 允许其他进程改变其某些行为]。

此外,您使用的 Android Studio 向导的目的是帮助您生成 ready-to-use 可绘制文件,这只是为了节省您在某些图像编辑器中自行制作这些可绘制文件的时间.

任何在 XML 清单文件中设置为您的应用程序圆形图标的可绘制对象都将在末尾圆角化,这与它的实际外观无关。我不认为您可以期望任何当前可用的主要启动器应用程序将某些应用程序的图标显示为圆形而将某些应用程序的图标显示为方形。这会严重损害其用户体验。

恐怕您将不得不适应这种情况,将方形应用程序的徽标缩小一点,并在其周围留一些空白 space 以允许最终用户的启动器应用程序围绕它画一个圆圈徽标。

在这里您可以找到关于设计 Android 应用程序启动器图标的官方建议:https://material.io/guidelines/style/icons.html#icons-icons-for-android and here 您可以在 Android 应用程序图标的主题中阅读最新方法:自适应那些。任何其他类型的图标都可以被视为 'legacy',并且仅在面向 26 以下的 API 时出于兼容性原因使用。

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

举个例子,我已经下载了提到的 Bytecoin 应用程序 OP,这就是它在我的 phone、Android 7.0 上的样子:

角落里的红色物体已经被切掉了。我认为我们可以假设 Google Play 上显示有方形徽标的所有其他应用程序 [在他们的商店页面上看起来不错,因为 Google Play 允许方形徽标] 安装在 phones 与现代版本的启动器,尤其是 api >=26.

如果你的目标SDK是26,android设备版本是8,应用图标会是圆形的。

实现此目的的方法之一是(不确定它是否是 right/best 方法)

在 AndroidManifest.xml 中我必须设置

android:targetSdkVersion=“20”

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

android:roundIcon=“@mipmap/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 个图像是 Squared one。

我使用 android studio 生成自适应和旧版图标...

我删除了 android 工作室生成的 ic_launcher_round 个图像。

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

现在我的 ic_launcher_round 是方形图标。

(ic_launcher_round.png, ic_launcher.png, icon.png)都是一样的图片

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

自 Android 8.0(奥利奥)

那里描述了 Android 设计应用程序图标的新方法:

Android 8.0 (API level 26) introduces adaptive launcher icons, which can display a variety of shapes across different device models.

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

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

之前 Android 8.0

旧版图标可以这样生成:Create a legacy launcher icon