Ich habe eine Funktion, die ich verwende, um die Orientierung für meine Anwendung in Xamarin zu lesen und es funktioniert auf anderen Geräten von Google und Samsung aber nicht der Pixel C.Pixel C meldet falsche Orientierung in Xamarin
public DeviceOrientations GetOrientation()
{
IWindowManager windowManager = Android.App.Application.Context.GetSystemService(Context.WindowService).JavaCast<IWindowManager>();
var rotation = windowManager.DefaultDisplay.Rotation;
bool isLandscape = rotation == SurfaceOrientation.Rotation90 || rotation == SurfaceOrientation.Rotation270;
return isLandscape ? DeviceOrientations.Landscape : DeviceOrientations.Portrait;
}
Kann jeder Man rät mir, wie ich das Pixel C lösen soll? Oder ist das etwas auf der Xamarin Seite, die gelöst werden muss?
**** UPDATE **** Ich machte die Änderungen per Antwort und habe es hier aufgenommen.
IWindowManager windowManager = Android.App.Application.Context.GetSystemService(Context.WindowService).JavaCast<IWindowManager>();
bool isLandscape = false;
Android.Graphics.Point aSize = new Android.Graphics.Point();
windowManager.DefaultDisplay.GetSize(aSize);
if (aSize.X > aSize.Y)
{
isLandscape = true;
} else
{
isLandscape = false;
}
return isLandscape ? DeviceOrientations.Landscape : DeviceOrientations.Portrait;
Vielen Dank - ich werde es mit meinen Codeänderungen für alle anderen aktualisieren, die über diese hinweg laufen. –