Android WebView在屏幕旋转后,不重新加载URL及禁止横屏的方法
来源:互联网 发布:淘宝首页显示不全 编辑:程序博客网 时间:2024/06/05 04:05
转载:http://blog.csdn.net/ningranzuozuo/article/details/50474386
最近在开发一个web app,发现横屏后,URL会重新加载,体验很不好。
需要更改AndroidManifest.xml文件,在需要禁止重新加载的Activity中增加android:configChanges="orientation|keyboardHidden|navigation"。但在手机上测试发现,并没有效果,原来,该设置在android4.0及以上的版本中无效,需要另外一个属性:"screenSize",改成android:configChanges="orientation|keyboardHidden|screenSize"。
configChanges属性的含义及横竖屏切换Activity的生命周期变化请见:http://my.oschina.net/u/242041/blog/203006。
但考虑html页面在手机上横屏后,会出现显示不全的情况,所以就想要禁止手机上横屏,pad上支持横屏。首先想到的是,如何获取屏幕尺寸,参考:http://blog.csdn.net/lincyang/article/details/42679589,该篇文章介绍的很详细。但实际上,5.5英寸的魅蓝note(分辨率为1920*1080),读出来的值只有4.5英寸,所以该方法理论上是对的,但实际上,会存在出入。查中关村魅蓝note的参数(官网并没有),实际ppi为401,根据该ppi,计算出来的值就是5.5英寸。但并没有办法获取到该ppi,根据http://www.zhihu.com/question/23795304的介绍,实际厂商设置dpi时会尽量设置成80的倍数,所以401换算成80的倍数就是实际Android接口获取到的值:480。
现在已经无法通过计算屏幕尺寸来判断是手机或者平板,那么就要换种思路。
根据http://www.jb51.net/article/49410.htm的介绍,有如下几种方法
1、设备尺寸、DPI:根据上文介绍,会出现问题,所以不推荐;
2、版本号:原本3.x的版本是属于平板的,但到了4.x、5.x的时代,这已经无法作为判断的依据了,所以也不推荐;
3、是否具备电话功能:现在能够通话的平板多着呢,所以也不推荐;
4、Configuration的screenLayout:经测试发现,这个可以作为判断的依据。
如果错误,谢谢大家指出来!
- Android WebView在屏幕旋转后,不重新加载URL及禁止横屏的方法
- Android WebView在屏幕旋转后,不重新加载URL及禁止横屏的方法
- Android禁止屏幕旋转,旋转屏幕时不重新加载当前activity
- Android禁止屏幕旋转,旋转屏幕时不重新加载当前activity
- Android禁止屏幕旋转,旋转屏幕时不重新加载当前activity
- 【Android】禁止屏幕旋转,旋转屏幕时不重新加载当前activity
- Android屏幕旋转不重新加载布局
- Android 屏幕旋转后防止重新执行onCreate的方法。
- Android 4.0: 旋转屏幕时禁止Activity重新加载
- android屏幕旋转时,禁止重新加载(onCreate)
- Android:屏幕旋转时,禁止Activity重新加载
- ANDROID竖屏,屏幕旋转禁止重新加载activity
- android webview旋转屏幕导致页面重新加载问题
- 禁止屏幕旋转重新加载oncreat
- android屏幕旋转时,Activity不重新调用onCreate的方法
- android屏幕旋转时,Activity不重新调用onCreate的方法
- android屏幕旋转时,Activity不重新调用onCreate的方法
- android屏幕旋转时,Activity不重新调用onCreate的方法
- ATC:go logs 使用
- 链接样式
- day02表现层代码抽取
- 10.20 周五 阴 关于碰撞器触发器 及游戏对象的移动 组件的复习
- Git------(1)什么是Git(分布式版本控制系统)
- Android WebView在屏幕旋转后,不重新加载URL及禁止横屏的方法
- Linux下netstat查看命令详解
- 关于树的队列实现和堆栈实现的分析
- Rhyme/ Struts2 通配符映射出现解决方法
- ASP.NET Core 网站发布到Linux服务器
- EGit使用
- 在TCP半开连接上发送数据,结果怎样?
- 《Machine Learning》第四讲 正则化(regularization)
- 捕获promise异常,不能用onerror