2016年8月3日 星期三

android 螢幕旋轉演算法

eclair只支援兩種方向:rotation 0 and rotation 90
CyanogenMod有支援四個方向
最新的froyo應該是支援三個方向(等froyo release再把他的演算法po上來)

source code 在 framework/base/core/java/android/view/WindowOrientationListenetr.java這裡支援的方向指的是android送給上層依據目前g-sensor算出來的螢幕旋轉方向,
程式部份自己要去對旋轉的方向作處理,預設的setting程式就有支援四個方向,
ui(Launcher)部份,把AndroidManifest.xml的android:screenOrientation="nosensor"改成sensor就可以了



以下是詳細的演算法







CyanogenMod 有支援四個方向,基本上是從原本eclair的演算法算出orientation之後的部份作修改:






沒有留言:

張貼留言