一般的android屏幕旋转只能转动90,为了给用户带来更佳的用户的体验,我们让android能够360°转屏,不论你以怎样的方向拿着设备,屏幕总能跟着旋转。
下面是实现方法。
这个实现相对比较简单,只需修改一个源文件就OK。
这个文件就在frameworks\base\core\java\android\view下
整个android 重力感应就在WindowOrientationListener.java中实现。
下面开始休息源码:
1、添加两个方向位
private static final int ROTATION_270 = 2;
private static final int ROTATION_180 = 3;
2、修改INTERNAL_TO_SURFACE_ROTATION属性
{ Surface.ROTATION_0, Surface.ROTATION_90, Surface.ROTATION_270, Surface.ROTATION_180};
3、修改SURFACE_TO_INTERNAL_ROTATION属性
{ROTATION_0, ROTATION_270, ROTATION_180, ROTATION_90};
4、修改THRESHOLDS属性
{{60, 120}, {120, 240}, {240, 300}},
{{0, 45}, {45, 135}, {135, 225}, {330, 360}},
{{0, 30}, {135, 225},{225, 315}, {315, 360}},
{{0, 60}, {60, 120}, {240, 300}, {300, 360}}
5、调整ROTATE_TO
{ROTATION_270, ROTATION_180, ROTATION_90},
{ROTATION_0, ROTATION_270, ROTATION_180, ROTATION_0},
{ROTATION_0, ROTATION_180, ROTATION_90, ROTATION_0},
{ROTATION_0, ROTATION_270, ROTATION_90, ROTATION_0}
6、编译 运行
Ok、
- 相关文章
- android平台发送email所需要的三个基本jar包下载地址 (14人浏览)
- android中使用selector动态改变imageView或ImageBut (8人浏览)
- 剖析Android自带Widget - Music播放器 (18人浏览)
- Android Widget例子解析 (7人浏览)
- Android Market的 Loading效果 (16人浏览)
- Android提高第十三篇之探秘蓝牙隐藏API (4人浏览)
- android接收和发送短信 (8人浏览)