如何使Android应用程序的图标背景透明?

时间:2018-06-21 04:56:30

标签: java android xml image android-studio

将PNG图像用作图标前景,并且背景应完全透明。

在Asset Studio中使用Android Studio > New Image Asset > Configure Image Asset dialog,实际上已经尝试了非常多种背景选项,包括从路径中完全删除文件以及删除ic_launcher.xml和{{1}中的背景标签}。

在此向导中从路径中删除文件并从XML文件中删除标签几乎可以解决问题,但是仍然有一个模糊的黑色轮廓作为背景(〜alpha = 20%)。在查看设备启动器上的图标时,“背景层”的所有其他选项都会在前景图像后留下纯白色或黑色背景。

许多应用程序仅在其图标上设法具有前景,因此有可能。我在这里做什么错了?

更新:感谢您的快速评论!我尝试了作为答案提供的两个解决方案,结果相同。屏幕截图按建议上传。

仅在向导中更新Legacy图标是不够的,因为这仅会更改Legacy图标的格式。还需要更新的“自适应”图标。即使背景设置为完全透明的正方形png,Android Studio也会将其更改为白色。如果完全删除了背景文件,则向导会允许完成操作,但是Android Studio使用稍微不透明的黑色背景,如图所示。对于上传的图片,前景后面应该没有任何东西,在这种情况下,它应该是完全灰色的,没有可见的圆圈。

Screen capture from device running API 25

3 个答案:

答案 0 :(得分:5)

方法1:

如果您有png,只需将其复制并粘贴到drawable中,然后从清单中引用图像名称即可。

<application
        android:allowBackup="true"
        android:icon="@mipmap/new_image"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/new_image"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        ....
        </application>

方法2:

转到文件>新建>图片资源,请确保选择png图片(具有透明背景)并将背景形状设置为无。

enter image description here

答案 1 :(得分:1)

首先,您有一个背景图片来获取透明图标,而没有任何背景图片就不能使图标透明。

如果要使图像透明,则只需使用一些照片编辑器即可。

答案 2 :(得分:0)

获取imageButton的视图

View v = findViewById(R.id.myImageBtn);

从应用程序中获取图标,例如Chrome

pkgnam="com.android.chrome";
Intent intent1 = ctx.getPackageManager().getLaunchIntentForPackage(pgknam);
Drawable myIcon = getPackageManager().getActivityIcon(intent1);

将背景图标设置为与前景图标相同

v.setForeground(myIcon);
v.setBackground(myIcon);