Ich möchte die Ausrichtung des Geräts (Android, iOS & Windows Phone) zu der Zeit, die ich meine Seite aufbauen. Die Seite hat ein Raster mit 3 Spaltendefinitionen und sollte 5 Spaltendefinitionen haben, sobald die Ausrichtung in Querformat geändert wurde.Xamarin.Forms - Ausrichtung erkennen und Seite anpassen
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
};
Also hier habe ich 12 Bilder hinzugefügt, um meinen Code zu testen. Die Seite sieht im Hochformat gut aus und hat viel Platz zwischen den Spalten, wenn das Gerät im Querformat ausgerichtet ist.
Ich versuche auch, Abhängigkeitsinjektion zu verwenden, um die Informationen abzurufen. Der DependencyService macht seine Arbeit, aber ich habe keinen Erfolg beim Abrufen der Ausrichtung des Geräts ...
Erstellen finden Sie diese git Link hilfreich https://github.com/xamarin/monotouch-samples/tree/master/Rotation –
Ich werde es einen Blick geben. – Bart