Mi piacerebbe conoscere l'orientamento del dispositivo (Android, iOS & Windows Phone) nel momento in cui sto costruendo la mia pagina. La pagina ha una griglia con 3 columndefinitions e dovrebbe avere 5 columndefinitions non appena l'orientamento è cambiato in landscape.Xamarin.Forms - Rileva l'orientamento e regola la pagina
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
};
Quindi qui ho aggiunto 12 immagini per testare il mio codice. La pagina ha un bell'orientamento verticale e occupa molto spazio tra le colonne se il dispositivo è orientato in orizzontale.
Sto anche cercando di utilizzare l'iniezione di dipendenza per recuperare le informazioni. Il DependencyService sta facendo il suo lavoro, ma non ho alcun successo nel recuperare l'orientamento del dispositivo ...
troverete questo link git utile https://github.com/xamarin/monotouch-samples/tree/master/Rotation –
Gli darò un'occhiata. – Bart