Android时时监測手机的旋转角度 依据旋转角度确定在什么角度载入竖屏布局 在什么时候载入横屏布局
2017-05-19 10:02
513 查看
一、场景描写叙述:
最近开发中遇到个问题,就是我们在做横竖屏切换的功能时。横竖屏布局是操作系统去感知的,作为开发员没法确定Activity在什么时候载入横屏布局,在什么时候载入竖屏布局。因此为了找到载入横屏布局与竖屏布局的分界点,我特别监控了屏幕旋转的角度。看在什么样的角度会载入横屏布局,在什么样的角度载入竖屏布局。
二、屏幕旋转度数变化示意图
度数变化,拿着手机顺时针旋转,度数会越变越大。
三、在Activity中监听手机的旋转角度,上代码。
该类的用法:
(1)在onResume()中调用enable()方法监听角度变化
(2)在onPause()方法中调用disable()方法停止监听
最近开发中遇到个问题,就是我们在做横竖屏切换的功能时。横竖屏布局是操作系统去感知的,作为开发员没法确定Activity在什么时候载入横屏布局,在什么时候载入竖屏布局。因此为了找到载入横屏布局与竖屏布局的分界点,我特别监控了屏幕旋转的角度。看在什么样的角度会载入横屏布局,在什么样的角度载入竖屏布局。
二、屏幕旋转度数变化示意图
度数变化,拿着手机顺时针旋转,度数会越变越大。
三、在Activity中监听手机的旋转角度,上代码。
/** * 时时监測屏幕方向是否发生改变 * @author wilson.xiong */ class MyOrientationDetector extends OrientationEventListener { public MyOrientationDetector(Context context) { super(context); } @Override public void onOrientationChanged(int orientation) { //假设屏幕旋转被打开。则设置屏幕可旋转 //0-57度 125-236度 306-360度 这些区间范围内为竖屏 //58-124度 237-305度 这些区间范围内为横屏 if ((orientation == -1 || (orientation >= 0) && (orientation <= 57)) || ((orientation >= 125) && (orientation <= 236)) || (orientation >= 306 && orientation <= 360)) { mScreenOrientation = 1;//竖屏 } else if ((orientation >= 58 && orientation <= 124) || ((orientation >= 237 && orientation <= 305))) { mScreenOrientation = 0;//横屏 } // mOrientation = orientation; } }
该类的用法:
(1)在onResume()中调用enable()方法监听角度变化
@Override public void onResume() { super.onResume(); mDetector.enable(); if (!isFirst) { if (GTConfig.instance().hasDickLoaded) { GTSQuote.updateGTSQuoteList(); } refreshData(); } else { isFirst = false; } }
(2)在onPause()方法中调用disable()方法停止监听
@Override public void onPause() { super.onPause(); mDetector.disable(); }
相关文章推荐
- Android时时监测手机的旋转角度 根据旋转角度确定在什么角度加载竖屏布局 在什么时候加载横屏布局
- Android开发11——手机横屏和竖屏与android:configChanges
- Android 对布局进行任意角度旋转
- android 屏幕旋转(横屏、竖屏、反向横屏、反向竖屏)的实现
- AndroidPad设置只支持三个方向旋转(正方向竖屏0度方向,90度和270度横屏方向)
- Android开发11――手机横屏和竖屏与android:configChanges
- android 手机屏幕横屏竖屏切换
- 关于android实现拖动旋转角度,调整布局参数的思路
- PhoneGAP如何禁止手机横屏竖屏旋转,如何限制应用只能竖屏
- Phonegap 禁止手机横屏竖屏自动旋转
- Android初学习 - 资源的国际化和横屏竖屏布局的切换
- javascript判断手机旋转横屏竖屏
- 关于android实现拖动旋转角度,调整布局参数的思路
- Android开发11——手机横屏和竖屏与android:configChanges
- android手机横屏和竖屏与android:configChanges
- android 设置布局横屏竖屏
- Android手机横屏竖屏的应用
- Android 使用PLDroidPlayer播放网络视频 依据视频角度自己主动旋转
- Android 对布局进行任意角度的旋转
- android中 禁止竖屏,且横屏可以旋转