我想在构建页面时知道设备(Android、iOS 和 Windows Phone)的方向。该页面有一个带有 3 个列定义的网格,并且一旦方向更改为横向,就应该有 5 个列定义。
Grid grid = new Grid
{
HorizontalOptions = LayoutOptions.Fill,
VerticalOptions = LayoutOptions.Fill,
RowSpacing = 15,
ColumnSpacing = 15,
Padding = new Thickness(15),
ColumnDefinitions =
{
new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }
}
};
for (int i = 0; i < 12; i++)
{
Image img = new Image()
{
Source = "ButtonBlue.png"
};
//if(DependencyService.Get<IDeviceInfo>().IsPortraitOriented())
//{
grid.Children.Add(img, i % 3, i / 3);
//}
//else
//{
// grid.Children.Add(button, i % 5, i / 5);
//}
}
this.Content = new ScrollView
{
Orientation = ScrollOrientation.Vertical,
Content = grid
};
所以在这里我添加了 12 张图片来测试我的代码。该页面在纵向方向上看起来不错,并且如果设备处于横向方向,则列之间的空间很大。
我也在尝试使用依赖注入来检索信息。DependencyService 正在做他的工作,但我没有成功检索设备的方向......