首页 > 解决方案 > Xamarin.Forms Android 应用程序中不显示应用程序图标

问题描述

我无法弄清楚为什么我的 Xamarin.Forms Android 应用程序具有默认机器人图标。

这是我现在的结构:

在此处输入图像描述

这是我在“MainActivity.cs”中的内容:

[Activity(Label = "My App Name", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity

这是我在“AndroidManifest.xml”中的内容:

<application android:label="My App Name" android:icon="@mipmap/icon"></application>

在“icon.xml”中:

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@color/launcher_background" />
    <foreground android:drawable="@mipmap/icon" />
</adaptive-icon>

我在网上找到的一些解决方案建议将图标移动到“drawable”文件夹,但我不确定这些解决方案是最新的。我正在使用 Visual Studio 2019。

标签: androidxamarin.formsicons

解决方案


mipmap-anydpi-v26表示对于 SDK 26 或更高版本,它使用 XML 文件文件夹中的文件来使用自适应图标。

如果您的设备版本低于 26,您可以检查是否icon.png正确存储在文件夹中。如果版本大于或等于 26,您可以检查icon.xml.

顺便说一句,最简单的方法是将您的 icon.png 放入Resources/drawable文件夹,然后使用如下:

[Activity(Label = "My App Name", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity

推荐阅读