7

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

我使用 File -> New -> Vector Asset 设置了我自己的应用程序图标
这将创建一个普通的圆形应用程序图标。

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

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

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

4

3 回答 3

8

当启动器决定对其进行四舍五入时,您的应用程序图标将被四舍五入。

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

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

任何在 XML 清单文件中作为应用程序圆形图标的可绘制集最终都会被四舍五入,无论它实际上看起来如何。我不认为您可以期望任何当前可用的主要启动器应用程序将某些应用程序的图标显示为圆形和一些方形。这将严重损害其用户体验。

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

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

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

举个例子,我下载了提到的 Bytecoin 应用程序 OP,这就是它在我的手机 Android 7.0 上的样子: 红色物体被切断

角落里的红色物体已被切断。我认为我们可以假设 Google Play 上显示方形徽标的所有其他应用程序(在他们的商店页面中看起来不错,因为 Google Play 允许方形徽标)在安装在具有现代版本启动器的手机上时会看起来很糟糕,尤其是 api > =26。

于 2018-02-17T21:02:31.350 回答
8

如果您的目标 SDK 为 26,android 设备版本为 8,则应用图标将是圆形的。

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

在 AndroidManifest.xml 我必须设置

android:targetSdkVersion="20"</p>

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

android:roundIcon=“@mipmap/ic_launcher_round”</p>

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

确保 ic_launcher_round 图像是平方的。

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

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

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

现在我的 ic_launcher_round 是 Squared 图标。

(ic_launcher_round.png, ic_launcher.png, icon.png) 它们都是相同的图像

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

于 2018-05-24T11:09:52.637 回答
0

从 Android 8.0 (奥利奥)

现在描述了为 Android 设计应用程序图标的新方法:

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

使用自适应图标时,启动器图标有 2 层:前景背景(请参阅在 XML 中创建自适应图标)。

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

安卓8.0之前

可以通过这种方式生成旧版图标:创建旧版启动器图标

于 2019-10-11T21:44:34.553 回答