Android我想获得设备的旋转角度

roo*_*ver 5 android orientation

例如,我启动了应用程序然后设备被90度并排.我想为设备上的每个平面检测此事件.

Sig*_*ggy 14

您可以像这样获取屏幕方向(例如在您的onResume()方法中):

private static final int ORIENTATION_0 = 0;
private static final int ORIENTATION_90 = 3;
private static final int ORIENTATION_270 = 1;





Display display = ((WindowManager)
          getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int screenOrientation = display.getRotation();

switch (screenOrientation)
{
default:
case ORIENTATION_0: // Portrait
   // do smth.
break;
case ORIENTATION_90: // Landscape right
   // do smth.
break;
case ORIENTATION_270: // Landscape left
   // do smth.
break;
}
Run Code Online (Sandbox Code Playgroud)


fay*_*lon 1

使用 SensorManager 和 TYPE_GYROSCOPE/TYPE_ROTATION_VECTOR/TYPE_ORIENTATION/ 获取这些值。

查看此页面了解详细信息。

  • 发布解决方案而不是链接,该链接将来可能会被破坏,例如下面的答案http://stackoverflow.com/a/13817444/575643 (6认同)