【Android】解决Android横竖屏切换数据丢失问题的方法
解决方案1:在Androidmanifest.xml的activity标签中加入android:screenOrientation=
"portrait",可以屏蔽横屏
<activity android:name=".MainActivity" android:screenOrientation="portrait" > </activity>
screenOrientation有如下选项:
1.unspecified 默认值,由系统判断状态自动切换
2.landscape 横屏
3. portrait 竖屏
4.user 用户当前设置的orientation值
5. behind 下一个要显示的Activity的orientation值
6. sensor 使用传感器 传感器的方向
7. nosensor 不使用传感器 基本等同于unspecified
解决方案2:在Androidmanifest.xml的activity标签中加入android:configChanges="orientation|keyboardHidden|screenSize"
<activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden|screenSize" > </activity>
configChanges属性可以设置多个值,中间使用竖线分割;
1. orientation 屏幕在纵向和横向间旋转
2.keyboardHidden 键盘显示或隐藏
3.screenSize 屏幕大小改变了
4.fontScale 用户变更了首选的字体大小
5.locale 用户选择了不同的语言设定
6.keyboard 键盘类型变更,例如手机从12键盘切换到全键盘 7.touchscreen或navigation 键盘或导航方式变化,一般不会发生这样的事件
之前网上查到很多都是说设置了“orientation“和”keyboardHidden”属性,但是效果并没有用,需要增加设置screenSize三个值才行。
如果只设置”orientation|screenSize”,会发生竖屏变横屏生命周期会有先销毁后重新onCreate,如果是横屏变竖屏生命周期方法不会被回调!
相关文章
- html5 如何打包成apk,将H5封装成android应用APK文件的几种方法
- 精通Android自定义View(十五)invalidate方法和postInvalidate方法
- Android Design Support Library(二)用NavigationView实现抽屉菜单界面
- Android从相册中获取图片以及路径
- 检测android的版本的办法
- android强制横竖屏幕
- 浅谈 Unity、iOS、Android 闭包的使用方法
- 《Android开发秘籍(第2版)》——第1.4节Android设备间的硬件差异
- android 各个存储路径及获取方法总结
- 如何在mac本上安装android sdk
- Android实现 再按一次退出 的三种方法 durationTime、timerTask 和Handler
- Android ListView的背景和黑色边缘化的问题
- Android 开发死磕性能优化,方向是否正确?
- Framework事件机制—Android事件处理的三种方法
- android学习-ndk-build(androidstudio编译cocos2d-x库的cpp为so文件的解释)
- Android获取onenet中的数据----Get( )方法---(详细)
- 让Android Studio代码提示不区分大小写的方法
- android设计的布局在阿拉伯语下界面错乱的解决方法
- Android View体系(二)实现View滑动的六种方法
- Android学习之子线程更新UI的方法
- Unity Android 之 在 Unity 中直接调用打开其他应用apk的方法实现
- Android Studio当中的创建新方法的快捷键该如何使用?
- 关于在Android或Java中精度缺失的解决方法
- Android Host-based Card Emulation