我一直在研究支持iOS和Android平台的Xamarin.Forms应用程序。UI大部分是在Forms PCL项目中使用XAML构建的。我知道可以通过使用代码
if(Device.OS == TargetPlatform.iOS && Device.Idiom == TargetIdiom.Tablet)
如何通过XAML为iPad构建新的UI?
您可以OnIdiom
在xaml中使用Idiom值:
这样,您可以在手机或平板电脑的xaml中使用不同的值。
如果您的页面设计在手机和平板电脑上有很大不同,则最好实现两个不同的页面并导航至正确的页面,并在问题中添加idom代码:
if (Device.Idiom == TargetIdiom.Tablet || Device.Idiom == TargetIdiom.Desktop) await Navigation.PushAsync(new TabletPage()); else await Navigation.PushAsync(new Page());
请看James Montemagno的这篇博客文章,它准确地描述了您的问题。
*编辑:ContentView
可以根据完全相同的方式在习惯用法的2 秒之间切换:
XAML:
后台代码:
if (Device.Idiom == TargetIdiom.Tablet || Device.Idiom == TargetIdiom.Desktop) MyPage.Content = new LargeDisplayContentView(); else MyPage.Content = new SmallDisplayContentView();