2013-05-16 52 views
0

我想要聽取活動中的方向更改。我已經嘗試了一些平常的事情,當screenOrientation =「sensorLandscape」時監聽方向更改

  • onConfigurationChange與在android:configChanges元素 清單中的方位,
  • 有沒有,(證明與斷點)活動的重啓,所以我無法檢查getWindowManager().getDefaultDisplay().getRotation()旋轉後,除非我經常在我的畫線中檢查它,這是浪費。
  • 我可以使用OrientationEventListener,但這被稱爲手機的每一度更改,這(imo)也是浪費。

我在嘗試檢測與LandscapeLeft和LandscapeRight的區別。我不確定在這一點上還有什麼辦法可以解決這個問題。

回答

2

我不相信OrientationEventListener必然會告訴你屏幕的方向是否已經改變,因爲它只返回度數。

使用getWindowManager().getDefaultDisplay().getRotation()可能是要走的路,但您必須知道設備的默認方向,因爲這隻會根據默認值告訴您旋轉角度。

有一個體面的博客有關使用各種傳感器的方向變化和座標系here.