Ich würde gerne die detaillierte Ausrichtung eines Gerätes, vorzugsweise eines SCREEN_ORIENTATION_LANDSCAPE
, SCREEN_ORIENTATION_PORTRAIT
, SCREEN_ORIENTATION_REVERSE_LANDSCAPE
, SCREEN_ORIENTATION_REVERSE_PORTRAIT
von ActivityInfo
oder gleichwertig herausfinden.Wie bekomme ich die CURRENT-Ausrichtung (ActivityInfo.SCREEN_ORIENTATION_ *) eines Android-Geräts?
Einige der Antworten hier auf Stackoverflow enthalten
getWindowManager().getDefaultDisplay().getRotation()
aber das hat mich wirklich nicht sagen, ob das Gerät im Hoch- oder Querformat ist, wie es nur in Bezug auf seine natürliche Position gedreht wird - was in drehen kann Landschaft oder Porträt an erster Stelle sein.
getResources().getConfiguration().orientation
kehrt eine der folgenden drei: ORIENTATION_LANDSCAPE
, ORIENTATION_PORTRAIT
, ORIENTATION_SQUARE
, die mir wirklich nicht, dann nicht sagen, welche Art und Weise das Telefon eingeschaltet wird (ob es auf dem Kopf ist oder der von den Seiten es gedreht).
Ich weiß, ich könnte letzteres in Kombination mit DisplayMetrics
verwenden, um herauszufinden, die natürliche Ausrichtung des Geräts, aber gibt es wirklich keinen besseren Weg?
Super! Vielen Dank! – Alexander
Funktioniert brilliant! –
Dies schlägt fehl, wenn Ihre Aktivität eine feste Bildschirmausrichtung hat. getRotation meldet nur einen Wert, wenn die Bildschirmausrichtung nicht gesperrt ist. – AndroidDev