Android Studio 图像资源启动器图标背景颜色

141

我有一个没有背景的 .png 应用标识,当我将其作为图像资源添加到 Android Studio 时,我被迫加上一个背景。十六进制字段不接受8位颜色代码,只接受6位。是否有任何方法可以使背景保持透明?


4
非常适合生成各种类型图标的强大工具:https://romannurik.github.io/AndroidAssetStudio/。 - Pierre
13个回答

213
为使背景透明,请将shape设置为None。 请查看下面的图片:

enter image description here

编辑: 对于Android Studio 3.0, 您可以从Legacy选项卡中进行设置。

enter image description here


29
非常感谢,我没有注意到需要向下滚动才能看到形状 :) - HishamGarout
1
只需选择图像单选按钮并向下滚动即可...谢谢,这对我有效。 - GS Nayma
3
又一个 Studio 中糟糕用户体验的例子。 - AmitP
3
如何使背景层透明? - zulkarnain shah
创建应用程序图标后,存在空白边框需要去除。@ElYeante - Prasad
显示剩余5条评论

46

我正在使用 Android Studio 3.0.1,如果以上答案对您无效,请尝试将 图标类型 更改为 Legacy 并选择 形状None,默认值为 Adaptive and Legacy

输入图像描述

注意:某些设备已安装带有自动添加白色背景的启动器,这是正常现象。


2
只有当您的targetSdkVersion小于26时,才选择legacy。如果您的targetSdkVersion为26,则您的图标类型应为自适应和legacy。 - Rupam Das
1
如何使背景层透明? - zulkarnain shah
@zulkarnainshah如果您选择在传统模式下不进行形状调整,则会显示透明颜色。 - Farhana Naaz Ansari
似乎在Android Studio 3+中无法工作。然而,下面Patrick的答案似乎可以工作,至少在Android Studio 3.1.2中。 - Stephen M -on strike-
@StephenM - 你正在使用哪个Android版本?请记住,从Lollipop到最新的Android版本,事情变得不同,特别是从图标开始,因此如果人们在最新的Android版本中看到不同的背景图标,我不会感到惊讶。解决方法是尝试使用较低版本的Android并使用一个不会在图标中添加任何背景的启动器,只为开发人员查看您的图标的真实设计或坚持使用最新的Android并遵循他们想要的。 - Polar
@Polar - 我正在使用Android Studio 3.1.2,并且将目标和编译SDK版本设置为26,最小SDK版本设置为23。您所说的较低版本的Android是指什么?是指Android Studio还是目标/编译/最小SDK版本? - Stephen M -on strike-

33
你有两种方法:
1)在{{背景图层}} > {{缩放}}中,将{{调整大小}}减少到{{1}}。

enter image description here

然后在Legacy > Legacy Icon集中,将形状设置为

enter image description here


2) 在背景层 > 缩放 > 源资产中,您可以将一张图片设置为 1x1 像素(或任何尺寸)的 transparent.png 图片(您已经创建好了)。

enter image description here

然后在Legacy > Legacy Icon集中将形状设置为

enter image description here


24
你对 Full Bleed Layers 做了什么? - Tricky Bay

24

这只是另一种解决方法。

  1. 对于“前景层”,选择“资产类型”为文本,然后删除文本字段中的默认文本。

浏览到您的图像路径

  1. 对于“背景层”,选择“资产类型”为图像,然后选择您想要作为图标的图像路径。

输入图像描述

然后您就可以开始了。


非常简单的解决方案。非常感谢!我已经在Android Studio 3.6上测试过了,需要补充的一点是,在前景文本为空时会出现错误。所以我只是在那里添加了一个空格,它就可以工作了。然后再添加一些内容!之后我遇到了一个问题,当我完成添加mipmap并运行我的项目时,有一个Android标志覆盖了我的标志,我通过修改mipmap图标xml文件来删除前景标签行来解决了这个问题。希望能帮助到某些人。 - Feroz Khan
1
这太棒了! - ikerfah
1
并将形状设置为“无”...正在使用Android Studio 4.1.1。 - Amir Ehsani

24

这种方法在我的Android Studio 3.0上没有生效。背景仍然显示。我只是创建了一个空的背景文件。

<?xml version="1.0" encoding="utf-8"?>
<vector
android:height="108dp"
android:width="108dp"
android:viewportHeight="108"
android:viewportWidth="108"
xmlns:android="http://schemas.android.com/apk/res/android">
</vector>

这个方法有效,但完全出血的图层不行。


1
我也在使用Android Studio 3.0,我做了同样的事情来使它工作。看起来我们不再允许根据自己的想法制作图标了。 - Polar
2
这不起作用。Android Studio 3.0.1,您无法设置透明背景。 - Rupam Das
2
在我的Android Studio 3.1.2版本中运行正常。在“图像资源生成器”中显示为黑色,但在部署应用时是透明的。 - Stephen M -on strike-
当我尝试使用这个向量作为背景时,我遇到了渲染错误,有其他人也遇到过吗? - Chagai Friedlander
我认为你应该在向量中添加路径。 - Ygl

6

Android Studio 3.5.3可使用以下配置。

在这里输入图片描述

在这里输入图片描述

在这里输入图片描述


3

我刚刚将我的视图背景(颜色代码)设置为剪贴画或图像背景,它看起来像透明或没有背景,其中两者的背景颜色相同。


1

以下是我使用的步骤使图像透明:

1- 我使用了一个在线网站来使图像透明,有很多这样的网站。对我来说,我使用了这个 https://www241.lunapic.com/editor/?action=transparent 和有时候这个 https://www.online-image-editor.com/help/transparency

2- 在Android Studio中(我使用的是3.1.3版本),打开app > res中的Image Asset(右键单击)> New > Image Asset Image Asset

3- 在路径中选择从在线网站下载的透明图像的位置,并将其他选项设置如下,然后点击“下一步”,再点击“完成”。在res/mipmap-density文件夹中将创建五种不同尺寸的图像:mdpi(48×48)、hdpi(72×72)、xhdpi(96×96)、xxhdpi(144×144)和xxxhdpi(192×192)。 Image Asset Configuration

4- 如果您需要与上述尺寸不同的大小(尺寸),您可以使用此网站https://nsimage.brosteins.com/上传您在xxxhdpi中使用的最大尺寸的PNG图像。上传后,您可以下载一个包含五种不同尺寸图像的zip文件,存放在res/drawable-density文件夹中。 enter image description here


1
首先,从Image Asset创建一个启动器图标(自适应和传统):
选择一个背景层的图像并将其调整大小为0%或1%, 在传统选项卡中将形状设置为none。
然后,在项目窗口中删除文件夹res/mipmap/ic_laucher_round,并打开AndroidManifest.xml并从application元素中删除属性android:roundIcon="@mipmap/ic_launcher_round"。
最后,从mipmap-anydpi-v26中删除ic_launcher.xml。
请注意:某些设备(如Nexus 5X(Android 8.1))会自动添加白色背景,并且无法做任何事情。

1

我刚刚将图标添加为普通图标:New -> Vector Asset

然后在清单文件中更改应用程序图标。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接