更新图标和名称 (Android)
如果您更改了图标文件名,请确保更新MainActivity.cs 中的Icon 引用:
[Activity(Label = "MyName", Icon = "@mipmap/myicon", Theme = "@style/MainTheme"]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
}
您还应该更新mipmap-anydpi 文件夹中icon.xml 和icon_round.xml 的名称以匹配新的图标名称。如果launcher-foreground.png被重命名,则更新对应icon.xml中<foreground...>的值。
摘要(Android)
- 将 mipmap 文件夹中的
png 替换为新图标
- 如果名称已更改,请更新
MainActivity.cs 中的 Icon 值
- 如果名称已更改,请更新
icon.xml 和 icon_round.xml 的名称(或创建新副本)
- 如果
launcher-foreground.png 的名称已更改,则更新 icon.xml 中的值。例如:
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/my_launcher_background"/>
<foreground android:drawable="@mipmap/my_launcher_foreground"/>
</adaptive-icon>
- 如果名称未更改并且您已清理并重新构建项目,但新图标仍未部署:从 Android 项目目录中删除
obj 文件夹
不更新时的详细信息和问题(Android)
Xamarin Forms/Android 在每个 mipmap 文件夹(mipmap-mdpi、mipmap-hdpi、mipmap-xhdpi 等)中放置 2 个图标 - icon.png 和 launcher-foreground.png。
在每个 mipmap 文件夹中替换这两个图像。我保留了相同的名称,但应该可以使用不同的名称。
如果您重命名launcher-foreground.png,那么您必须更新icon.xml 和icon_round.xml 中的值(或其等效的新名称)。 <foreground...> 标签中的值引用了 icon/png。因此,如果 launcher-foreground.png 更新为 my_launcher-foreground.png,这应该会反映在 icon.xml 中(请参阅上面摘要中的第 4 步)。
如果图标即使在清理/重建后仍然没有更新,则可能是原始/默认图标仍然存在于 Android 项目 obj 文件夹中。解决方法是从Android项目目录中删除obj文件夹。
iOS
对于 iOS,请参阅Managing Icons with Asset Catalogs。下面提供了来自链接页面的摘要:
对于图标,可以将特殊的AppIcon 图像集添加到应用项目中的Assets.xcassets 文件中。
要使用资产目录,请执行以下操作:
- 在解决方案资源管理器中双击 Info.plist 文件。
- 单击 Visual Assets 选项卡,然后单击 App Icons 下的 Use Asset Catalog 按钮。
- 从解决方案资源管理器中,展开资产目录文件夹。
- 双击媒体文件在编辑器中打开它。
- 在“属性资源管理器”下,开发人员可以选择所需的不同类型和大小的图标。
- 单击给定的图标类型并选择所需类型/大小的图像文件。
- 单击“打开”按钮将图像包含在项目中并将其设置在 xcasset 中。
MacOS
MacO 的指南是Application icon for Xamarin.Mac apps。您需要考虑以下步骤:
- 所需的图像大小和文件名
- 打包图标资源
- 使用图标
在上面的链接文档中有详细说明。