我有一个带标签栏的表单应用程序。对于iOS,我创建了这些图标:
ionicons_2-0-1_ios-pause-outline_25.png
ionicons_2-0-1_ios-pause-outline_25@2x.png
ionicons_2-0-1_ios-pause-outline_2523x.png
它们的尺寸为25 * 25,50 * 50和75 * 75
根据我的阅读,我相信这些是正确的尺寸。
但有人可以就应用程序的Android端的大小和命名约定向我提供建议。
我被告知文件名可能需要不同。如果我想为iOS使用一个图标而对Android使用另一个图标,它又如何工作。目前我指定了这样的图标:
var homePage = new NavigationPage(new HomePage())
{
Title = "Home",
Icon = "ionicons_2-0-1_ios-home-outline_25.png"
};
答案 0 :(得分:3)
是的,你可能想分开那些。
您可以阅读documentation page上处理不同图像的所有内容。每个平台都有关于正确图像大小的非常具体的指导,也取决于您使用它们的控件。只需谷歌与Android或iOS一起使用“图标大小”或“人机界面指南”。此外,您可能需要查看MFractor插件,该插件具有(付费)功能,可为您生成合适的尺寸,从而为您节省时间。
对于 Android ,您可能希望避免使用连字符,因为众所周知它们会造成麻烦。
为了区分平台,您可以使用这样的结构,用于XAML:
<ContentPage>
<ContentPage.Padding>
<OnPlatform x:TypeArguments="Thickness">
<On Platform="Android, UWP">0</On>
<On Platform="iOS">0,20,0,0</On>
</OnPlatform>
</ContentPage.Padding>
</ContentPage>
在代码中:
switch(Device.RuntimePlatform)
{
case Device.iOS:
this.Padding = new Thickness(0,20,0,0);
break;
case Device.Android:
case Device.UWP:
case Device.macOS:
default:
// This is just an example. You wouldn't actually need to do this, since Padding is already 0 by default.
this.Padding = new Thickness(0);
break;
}
(来自xamarinhelp.com的代码示例)
虽然这显示Padding
,但您可以将其应用于字符串并将其应用于您的情况。但是,您 不能使用不同的文件名。您可以相同地命名它们,但只需使用不同的图标。该平台还将确定使用@2x
等获取或后缀的分辨率