簡體   English   中英

Android 我想獲得設備的旋轉角度

[英]Android I want to get rotation angle for device

例如,我啟動了應用程序,然后將設備並排旋轉 90 度。我想為設備上的每個平面檢測此事件。

您可以像這樣獲取屏幕方向(例如在您的 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;
}

使用 SensorManager 和 TYPE_GYROSCOPE/TYPE_ROTATION_VECTOR/TYPE_ORIENTATION/ 獲取這些值。

查看此頁面了解詳細信息。

我認為您必須使用傳感器管理器來計算每個點的 x、y、z。 並使用等式求出兩點之間的角度。 考慮您的起點 (0,0,0);

您可以為飛機使用OrientationEventListener

OrientationEventListener mOrientationListener = new OrientationEventListener(
            getApplicationContext()) {
        @Override
        public void onOrientationChanged(int orientation) {

        }
    };

    if (mOrientationListener.canDetectOrientation()) {
        mOrientationListener.enable();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM