关键字:gsenosr、旋转/rotation
标题:更改gsensor旋转的灵敏度
更改原因分析:
屏幕旋转是靠重力和角度来判断屏幕是否旋转,
更改文件的路径:
frameworks\base\core\java\android\view\WindowOrientationListener.java
源码文件:
更改内容:
1.将原来的重力最小值*0.5f 改成重力最小值*0.1f, 将重力最大值*1.5f更改成重力最大值*1.7f;
更改前的代码语句:
private static final float MIN_ACCELERATION_MAGNITUDE =
SensorManager.STANDARD_GRAVITY * 0.5f;
private static final float MAX_ACCELERATION_MAGNITUDE =
SensorManager.STANDARD_GRAVITY * 1.5f;
更改后的代码语句:
private static final float MIN_ACCELERATION_MAGNITUDE =
SensorManager.STANDARD_GRAVITY * 0.1f;
private static final float MAX_ACCELERATION_MAGNITUDE =
SensorManager.STANDARD_GRAVITY * 1.7f;
2.将原来的最大倾斜角度值 75 更改成 95 ;
更改前的代码语句:
private static final int MAX_TILT = 75;
更改后的代码语句:
private static final int MAX_TILT = 95;
3. 将原来的各方向倾斜角度范围改大,如下:
更改前的代码语句:
private static final int[][] TILT_TOLERANCE = new int[][] {
/* ROTATION_0 */ { -20, 70 },
/* ROTATION_90 */ { -20, 60 },
/* ROTATION_180 */ { -20, 50 },
/* ROTATION_270 */ { -20, 60 }
};
更改后的代码语句:
private static final int[][] TILT_TOLERANCE = new int[][] {
/* ROTATION_0 */ { -90, 90 },
/* ROTATION_90 */ { -90, 90 },
/* ROTATION_180 */ { -90, 90 },
/* ROTATION_270 */ { -90, 90 }
};