如何在 Xamarin.Android 中使用 mipmap 文件夹?

Posted

技术标签:

【中文标题】如何在 Xamarin.Android 中使用 mipmap 文件夹?【英文标题】:How to use the mipmap folder in Xamarin.Android? 【发布时间】:2016-12-30 13:17:25 【问题描述】:

对于应用程序图标,我们应该使用mipmap 文件夹。现在我将以下文件夹添加到Resources 文件夹中:

mipmap-hdpi mipmap-ldpi mipmap-mdpi mipmap-xhdpi mipmap-xxhdpi mipmap-xxxhdpi

在每个文件夹中,应用图标都有一个ic_launcher.png,构建操作是androidResource

现在我无法在Android Manifest 中设置Application Icon。它没有出现在那里。我错过了什么?

我删除了drawable 文件夹中的默认图标,并删除了Android Manifest 中的条目。在构建时我得到了

未找到与给定名称匹配的资源(位于“图标”,值为“@drawable/icon”)。 文件:...\SomeApp.Droid\obj\Debug\android\manifest\AndroidManifest.xml

MainActivity 中有一个条目,它是对 Icon = @drawable/icon 的旧引用。现在我改成Icon = @mipmap/ic_launcher,错误就消失了。

【问题讨论】:

【参考方案1】:

我手动编辑了AndroidManifest.xml 以使用mipmap文件夹:

<application android:label="@string/app_name" android:icon="@mipmap/ic_launcher"></application>

【讨论】:

【参考方案2】:

试过这些:

    我删除了所有对默认图标的引用。 已删除 Drawable 文件夹本身中的图标。 在 Manifest 中添加了对我的 mipmap(在资源中)的新引用。 仍然没有找到资源匹配。

另外:

我要做的是手动添加文件夹和图标(即right-click &gt; add &gt; new folder)。我不能只是拖放它,而这样做也不允许您看到文件夹中的图标文件。

似乎构建操作应该自动设置为新添加的资源 (ref)。我不确定为什么拖放到解决方案资源管理器会“隐藏”文件夹中的文件。

【讨论】:

拒绝投票的原因将在这里得到赞赏。这个解决方案帮助了我,所以我相信它也可以帮助其他人。【参考方案3】:

找不到与给定名称匹配的资源(在“图标”处,值为“@mipmap/CircleIcon”)

在我的例子中,我的图标名称是“CircleIcon.png”。

我通过执行以下操作解决了这个问题:

    将图标 CircleIcon.png 的名称更改为 icon.png。 在项目中再次引用它。

    MainActivity 更改为:

    [Activity(
         Label = "Appname",
         Icon = "@mipmap/icon",
         Theme = "@style/MainTheme" /*"@android:style/Theme.Material.Light" */,
         Exported = true,
         LaunchMode = LaunchMode.SingleTask,
         MainLauncher = true,
         ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
         HardwareAccelerated = true,
         ScreenOrientation = ScreenOrientation.Portrait)]
    

    清理解决方案空间并重建。

【讨论】:

以上是关于如何在 Xamarin.Android 中使用 mipmap 文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 xamarin android ui 测试自动化中使用日期选择器

如何在 Xamarin.Android 中获取指南针方向

xamarin android如何将Java.Lang.Object类型转成C#类型

如何在 Xamarin.Android 中更新 Maps SDK(版本 18.0)?

如何在 Xamarin.android 中更改条目光标颜色

如何在 Azure Pipelines 中自动增加 Xamarin Android 内部版本号和版本号?