屏幕旋转--自动及手动控制(视频播放中setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法)
来源:互联网 发布:淘宝信誉度怎么看 编辑:程序博客网 时间:2024/06/09 20:04
在调用了setRequestedOrientation之后,手机屏幕的旋转不触发onConfigurationChanged方法,这个时候需要再调用一次
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);方法,让他开启自动旋转事件
如代码:
/** * 开启监听器 */ private final void startListener() { mOrientationListener = new OrientationEventListener(this) { @Override public void onOrientationChanged(int rotation) { if (startRotation == -2) {//初始化角度startRotation = rotation;} //变化角度大于30时,开启自动旋转,并关闭监听 int r = Math.abs(startRotation - rotation); r = r > 180 ? 360 - r : r; if (r > 30) { //开启自动旋转,响应屏幕旋转事件 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); this.disable();} } }; }
在手动旋转按钮监听事件中写下
//设置完之后变成强制设定为横屏或纵屏,如同AndroidManifest.xml中设置了android:screenOrientationif (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}//2秒后开启屏幕旋转监听,用来开启自动旋转,响应屏幕旋转事件orientationHandler.sendEmptyMessageDelayed(0, 2000);
最后设置handler
private OrientationEventListener mOrientationListener; // 屏幕方向改变监听器private int startRotation;Handler orientationHandler = new Handler(){public void handleMessage(Message msg) {startRotation = -2;mOrientationListener.enable();};};
1 0
- 屏幕旋转--自动及手动控制(视频播放中setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法)
- Android 解决setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法
- Android 解决setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法
- Android 解决setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法
- Android 解决setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法
- Android 解决setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法
- Android 解决setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法
- Android 解决setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法
- Android 屏幕的旋转 onConfigurationChanged方法
- UIWebView中视频播放屏幕自动旋转,app不支持旋转但是某一个页面需要旋转等
- UIWebView中视频播放屏幕自动旋转,app不支持旋转但是某一个页面需要旋转等
- 屏幕旋转之后,ListView表格表头位置错乱 与onConfigurationChanged方法的使用【安卓布局】
- 手动屏幕旋转的方法
- 视频播放屏幕旋转
- iOS手动旋转屏幕、自动旋转屏幕
- Android 监听屏幕旋转 onConfigurationChanged
- Android 监听屏幕旋转 onConfigurationChanged
- Android 监听屏幕旋转 onConfigurationChanged
- 2014.3.29 阿里巴巴 实习校招 笔试 题目及部分参考答案
- copying函数使用中的注意事项
- hdu4915 Parenthese sequence 2014 Multi-University Training Contest 5
- 指向函数的指针
- 如何寻找属于自己的高富帅和大公司
- 屏幕旋转--自动及手动控制(视频播放中setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法)
- 【Android基础】Activity的启动模式(android:launchMode)
- 在VS2010环境下如何开发K2工作流
- 经典java面试题目
- MVC设计模式详解
- android 文件关联的方法 实现点击文件打开指定应用软件
- linux下测试硬盘读写速度
- OPenCV绘图函数
- [Android]Fragment源码分析(三) 事务