我将为使用Android Studio制作的Android应用程序设置一个方形应用程序图标。
我使用文件->新建->矢量资源设置了我自己的应用程序图标
这将创建一个普通和圆形的应用程序图标。
例如,如果我复制并重命名(ic_launcher_round.png)二次应用程序图标并将其安装在OnePlus Launcher上,我也会得到圆形图标。
我的Logo是方形的,所以看到它的圆形真的很难看。
我如何才能强制一个二次应用程序图标?这个是可能的吗?
如果我在我的Manifest.xml中只设置了android:icon="@mipmap/ic_launcher"而不是this和android:roundIcon="@mipmap/ic_launcher_round",那么什么都不会改变。
发布于 2018-02-18 05:02:31
当启动程序决定对其进行舍入时,你的应用程序的图标将被舍入。
“启动器”只是另一个应用程序,就像你的应用程序一样,但它不是你的应用程序--它与你的应用程序完全分离,而且你通常不能影响任何与你的应用程序的进程分离的进程,操作系统将禁止这样做。只是有时你可以通过利用你的操作系统提供的某种形式的进程间通信(IPC)来做这样的事情,当然假设你想要与之通信的进程也‘愿意’与你‘对话’,利用相同形式的进程通信来允许其他进程改变它的一些行为。
此外,您使用的Android Studio向导的目的是帮助您生成随时可用的可绘制文件,它只是为了节省您在某个图像编辑器中自己制作这些可绘制文件的时间。
在XML清单文件内的任何可绘制的集合作为你的应用程序的圆形图标都将被舍入到最后,这是无论它实际看起来是什么样子。我认为你不能期望任何当前可用的主要启动器应用程序将一些应用程序的图标显示为圆形,而另一些则显示为方形。这将严重损害其用户体验。
我担心你将不得不适应这种情况,将你的square应用程序的logo缩小一点,并在它周围留出一些空白,以便最终用户的launcher应用程序在这个logo周围画一个圆圈。
你可以在这里找到设计安卓应用程序启动器图标的官方建议:https://material.io/guidelines/style/icons.html#icons-icons-for-android和here。你可以在安卓应用程序图标的主题中了解最新的方法:自适应图标。任何其他类型的图标都可以被视为“传统”图标,并且仅在目标API低于26时出于兼容性原因而使用。
编辑:在评论部分,OP提到了一些目前在最新版本中确实有正方形图标的应用程序,事实证明这实际上是其开发人员的一个小的用户体验设计缺陷。
举个例子,我下载了上面提到的Bytecoin app OP,这是它在我的手机Android 7.0上的样子:

角落里的红色物体被剪掉了。我认为我们可以假设Google Play上的其他应用程序在商店页面上显示方形徽标,这在他们的商店页面中看起来很好,因为Google Play允许方形徽标在安装了现代版本的启动器的手机上时看起来很糟糕,特别是api >=26。
发布于 2018-05-24 19:09:53
如果您的目标SDK为26,android设备版本为8,则应用图标为圆形。
实现这一点的方法之一是(不确定这是否是正确/最佳的方法)
在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图像为正方形1。
我使用android studio生成了自适应和传统图标…。
我删除了android studio生成的ic_launcher_round图片。
我将ic_launcher图像(通常是方形图标)复制到ic_launcher_round。
现在我的ic_launcher_round是方形图标。
(ic_launcher_round.png、ic_launcher.png、icon.png)它们都是相同的图像
进行此更改后,重新构建应用程序。现在,当您安装应用程序时,您应该会看到Square图标。
发布于 2019-10-12 05:44:35
从Android 8.0 (Oreo)开始
这里描述了为Android设计应用程序图标的新方法:
Android8.0(API26级)引入了自适应启动器图标,它可以在不同的设备型号上显示各种形状。
当使用自适应图标时,启动器图标有两层:前景和background (参见Creating adaptive icons in XML)。
形状(圆形,方形...)可根据系统/启动器设置的不同而不同。
Android 8.0之前的版本
可以这样生成遗留图标:Create a legacy launcher icon
https://stackoverflow.com/questions/48845701
复制相似问题