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

jdg4fx2g  于 2023-08-01  发布在  Java
关注(0)|答案(4)|浏览(138)

PNG图像将用作图标前景,背景应完全透明。
在Asset Studio中使用Android Studio > New Image Asset > Configure Image Asset dialog,实际上已经尝试了背景选项的各种组合,包括从路径中完全删除文件以及删除ic_launcher.xmlic_launcher_round.xml中的背景标记。
在这个向导中从路径中删除文件并从XML文件中删除标记几乎可以完成任务,但背景中仍保留了一个模糊的黑色轮廓(~alpha=20%)。当在设备的启动器上查看图标时,背景层的所有其他选项都会在前景图像后面留下纯白色或黑色背景。
许多应用程序设法只在其图标上有一个前景,所以这是可能的。我做错了什么?
更新:感谢您的快速评论!我尝试了两种作为答案提供的解决方案,结果相同。屏幕截图按建议上传。
仅在向导中更新传统图标是不够的,因为这只会更改传统图标的格式。更新的“自适应”图标也是必需的。即使背景设置为完全透明的方形png,Android Studio也会将其更改为白色。如果背景文件被完全删除,向导将允许完成,但Android Studio会使用略微不透明的黑色背景,如图所示。关于上传的图像,前景后面应该没有任何东西,完全灰色,在这种情况下没有任何可见的圆圈。
Screen capture from device running API 25

nwwlzxa7

nwwlzxa71#

方法一:

如果你有一个png,只需复制它并粘贴到drawable中,然后从manifest中引用图像名称。

<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>

字符串

方法二:

  • 后藤文件>新建>图片资源**,确保选择png图片(带透明背景)并将背景形状设置为无。


的数据

sq1bmfud

sq1bmfud2#

首先,你有一个背景图像,以获得透明的图标没有任何背景图像,你不能让你的图标透明。
如果你想让图像透明,你只需使用一些照片编辑器。

xtfmy6hx

xtfmy6hx3#

  • 查看图像按钮 *
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);

wqsoz72f

wqsoz72f4#

转到您的应用程序目录,并进入每个mipmap文件夹,例如。

app\src\main\res\mipmap-xxhdpi

字符串
然后复制/粘贴此文件ic_launcher_foreground,然后删除ic_launcher_background并将先前复制的文件重命名为ic_launcher_background,在以mipmap开头的每个文件夹中执行此操作,运行或构建应用程序以查看结果。
如果您没有任何这些文件夹,则必须首先创建新图像资源,其Icon类型为Launcher Adaptive Legacy

相关问题