将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使用稍微不透明的黑色背景,如图所示。对于上传的图片,前景后面应该没有任何东西,在这种情况下,它应该是完全灰色的,没有可见的圆圈。
答案 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图片(具有透明背景)并将背景形状设置为无。
答案 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);