これは簡単に別の質問の複製になる可能性があります。Imは何を検索するかを理解するのに苦労しています。
私のカメラアプリは、次のように(マニフェストで)横向きモードでロックされています。
android:screenOrientation="landscape"
ただし、デバイスを縦向きに回転させたときに、いくつかのUI要素を回転させたいと思います(Androidは横向きであると見なしますが、それは意図的なものです)。
だから私はこれを試して向きを確認しました
int rotation = this.getWindowManager().getDefaultDisplay()
.getRotation();
int degrees = 0;
switch (rotation) {
case Surface.ROTATION_0:
Log.d("Rotation", "0");
break;
case Surface.ROTATION_90:
Log.d("Rotation", "90");
break;
case Surface.ROTATION_180:
Log.d("Rotation", "180");
break;
case Surface.ROTATION_270:
Log.d("Rotation", "270");
break;
}
残念ながら、電話の向きに関係なく、常に90が返されます。Androidがオリエンテーションを「考えている」かどうかに関係なく、オリエンテーションを取得するためのより堅牢な方法はありますか?