gpt4 book ai didi

Xamarin.Forms 每个平台的不同 View

转载 作者:行者123 更新时间:2023-12-03 14:03:23 25 4
gpt4 key购买 nike

所以我是 Xamarin 开发的新手,我有一个问题我无法找到答案。是否可以实现一个 View ,使其在每个平台甚至一个平台上看起来都不同? IE - 该 View 在 iOS 和 Android 上看起来相似,但对于 UWP 桌面应用程序,它可能具有更多可用控件,因为有更多屏幕空间。提前致谢。

最佳答案

当然可以。最简单的方法是使用 OnPlatform (参见 here )XAML 中的标记

<OnPlatform x:TypeArguments="View">
<On Platform="iOS">
<!-- Use view for iOS here -->
</On>
<On Platform="Android">
<!-- Use view for Android here -->
</On>
<On Platform="UWP">
<!-- Use view for UWP here -->
</On>
</OnPlatform>

在您的情况下(对 Android 和 iOS 使用相同的 View ),您可以将其简化为
<OnPlatform x:TypeArguments="View">
<On Platform="iOS, Android">
<!-- Use view for iOS here -->
</On>
<On Platform="UWP">
<!-- Use view for UWP here -->
</On>
</OnPlatform>

如果您在代码中创建 View ,您可以使用 Device.RuntimePlatform
View CreateViewForCurrentPlatform()
{
switch(Device.RuntimePlatform)
{
case Device.iOS:
case Device.Android:
return new View1();
case Device.UWP:
return new View2();
}
throw new Exception("Unsupported platform");
}

不管怎样,既然你这么说

[...] for a UWP desktop app it maybe has more available controls because there is more screen space.



你应该考虑使用 Device.Idiom相反(参见 here ),它允许您区分平板电脑、台式机和手机。 Android 和 iOS 也在平板电脑上运行,在这些平板电脑上浪费屏幕空间是很可惜的。

关于Xamarin.Forms 每个平台的不同 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49779495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com