MvvmCross + Xamarin.Forms:平板电脑和手机的不同页面布局

时间:2018-10-16 07:47:48

标签: xamarin.forms mvvmcross

是否有使用MvvmCross + Xamarin.Forms在平板电脑和手机上使用不同页面布局的便捷方法? 也许在MvvmCross中为此实现了某些东西?

1 个答案:

答案 0 :(得分:0)

您有几种选择,首先可以重新设置页面,为Phone或Tablet设置特定的值,并重复使用相同的XAML。

示例:

<Grid VerticalOptions="FillAndExpand">
  <Grid.ColumnSpacing>
    <OnIdiom x:TypeArguments="x:Double"
             Phone="20"
             Tablet="40"/>
 </Grid.ColumnSpacing>
  <Grid.RowSpacing>
    <OnIdiom x:TypeArguments="x:Double"
             Phone="10"
             Tablet="20"/>
  </Grid.RowSpacing>
  <Grid.Padding>
    <OnIdiom x:TypeArguments="Thickness"
             Phone="10, 10, 10, 0"
             Tablet="20, 20, 20, 0"/>
  </Grid.Padding>
  <!-- Grid Content -->
</Grid>

另一种选择是,有两个不同的页面,一个页面用于平板电脑,一个页面用于手机:

 if (Device.Idiom == TargetIdiom.Tablet || Device.Idiom == TargetIdiom.Desktop)
    await Navigation.PushAsync(new StoresTabletPage());
  else
    await Navigation.PushAsync(new StoresPage());

您可以找到更多信息here