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



有没有一种方便的方法可以使用MvvmCross + Xamarin.Forms为平板电脑和手机使用不同的页面布局? 也许在 MvvmCross 中为此实现了一些东西?

有多个选项,首先可以使用手机或平板电脑的特定值调整页面,重复使用相同的 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());

您可以在此处找到更多信息

最新更新