我替换了所有图像到处(我的意思是在可绘制文件夹和所有Windows资源文件夹和iOS资源文件夹中),但它仍然显示应用程序的默认Xamarin图标。我也试过这个代码,但它似乎也没有用。有人可以告诉我解决方案吗?
[assembly: Application(Icon = "@drawable/icon")]
答案 0 :(得分:16)
对于Android,尝试像这样设置图标应用程序:
[Activity(Icon = "@drawable/icon")]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
.....
}
确保您已更改所有可绘制文件夹上的所有图标图像(drawable,drawable-hdpi,drawable-xhdpi和drawable-xxhdpi)。
对于iOS,我喜欢使用资产目录设置应用程序图标和启动画面,在这里您可以找到如何使用它的指南:
https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_images/app-icons/
答案 1 :(得分:6)
答案 2 :(得分:4)
png
obj
文件夹这个问题让我难过了一段时间,发现的答案都没有解决方案。
Xamarin Forms / Android在每个mipmap文件夹(mipmap-mdpi,mipmap-hdpi,mipmap-xhdpi等)中放置2个图标-icon.png
和launcher-foreground.png
。
将这两个图像都替换在每个mipmap文件夹中。我保留了相同的名称,但应该可以使用其他名称。
我多次清洗并重新构建了解决方案,但是,该应用仍在使用默认图标进行部署。
事实证明,即使多次清理并重新构建后,原始图标还是默认图标也仍然存在于Android项目obj
文件夹中。
从Android项目中删除obj
文件夹并构建解决方案。这样就成功部署了带有新图标的应用。
如果您更改了图标名称,请确保更新MainActivity.cs
上的引用
[Activity(Label = "MyName", Icon = "@mipmap/myicon", Theme = "@style/MainTheme"]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
您可能还需要更新对launcher_foreground
文件夹中icon.xml
和icon_round.xml
中mipmap-anydpi
的引用。
答案 3 :(得分:4)
我遇到了同样的问题,但是以下方法可以解决该问题:
如果您受困于此部分,请观看这段简短视频,从02:47开始https://youtu.be/5g8lWPQZFxs?t=167。这对我帮助很大。
答案 4 :(得分:3)
尝试替换iOS项目中的所有图标>属性> iOS应用程序> Iphone图标/ iPad图标。 我改变了所有这些,设置图标确实改变了。只需在那里插入图像即可创建Resouces上的图像。
答案 5 :(得分:2)
对于Visual Studio中的iOS ...
第一步:从https://appicon.co/生成所有应用图标
Step2:在解决方案资源管理器中,在iOS项目下,展开“资产目录”,然后双击“资产”。您可以更改现有的“ AppIcon”图标或添加新资产并附加图标。
这是您添加新资产的方式...
Step3:在解决方案资源管理器中,在iOS项目下,双击Info.plist。 转到“视觉资产”选项卡,单击“应用程序图标”,然后将“源”更改为 您刚刚创建的资产。
完成。
希望这对某人有帮助!
答案 6 :(得分:0)
今天进行了测试,发现您只需要更改所有可绘制文件夹中的图标图像,
drawable,
drawable-hdpi,
drawable-xhdpi
drawable-xxhdpi.
根据设备的不同,它会使用不同的图像。对我来说,我使用“Visual Studio Android Emulator”:
- 5" KitKat(4,4) XXHDPI Phone (Android 4,4 - API 19)
不需要在模拟器中卸载并重新安装应用程序,它在启动项目后自行更新,并在菜单Build / Configuration manager中选中“build”。
除此之外,没有进行任何代码更改!
答案 7 :(得分:0)
如果更换了Icon.png并且设备上没有任何更改,请更改"复制到输出目录"属于"复制如果更新"或"始终复制"。 那是我的解决方案。