在Xamarin.Forms中,我该把TabbedPage的图标放在哪里?

8

我正在开发一个跨平台的(Android/iOS)Xamarin.Forms应用程序。

我已经添加了一个TabbedPage。我想为每个页面定义一个图标。我尝试在XAML文件中设置Icon属性:

<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            x:Class="XXXX.YYYY">
<TabbedPage.Children>
    <ContentPage Title="Recherche" Icon="search.png">

当我尝试在iOS模拟器上运行时,Xamarin预览出现错误,并且应用程序空白。

我的问题是:我应该把search.png文件放在哪里?

在共享项目中? 在特定的子文件夹中? 在每个iOS/Android子项目中?

1个回答

9

每个平台的项目都需要放置相应的图像资源,以便针对每个操作系统正确调整大小、命名和格式。

阅读这篇文章可更好地了解图片: 处理图片

iOS - 在资源文件夹中放置带有生成操作BundleResource的图像。还应提供图像的Retina版本 - 文件名后缀应为@2x或@3x(例如myimage@2x.png),分别为两倍和三倍分辨率。

Android - 在Resources/drawable目录下放置带有生成操作AndroidResource的图像。还可以提供高DPI和低DPI版本的图像(在相应命名的资源子目录中,如drawable-ldpi、drawable-hdpi和drawable-xhdpi中)。

Windows Phone - 将图像放置在应用程序的根目录中并进行生成操作Content。

Windows/UWP - 将图像放置在应用程序的根目录中并进行生成操作Content。

在正确放置图像之后,您就可以使用它们来设置例如Icon="search.png"等属性。


我曾经把我的图片放在.xcassets上,但是我的图标没有出现。当我把它们放在资源文件夹中时,它们开始正常显示。如果你把图片放在.xcassets上,请不要费力思考错误在哪里的问题,这只是一个建议。 - Bruno Serrano

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接