解析Android横竖屏切换的问题
Android 问题 解析 切换 横竖
2023-06-13 09:15:01 时间
在做android开发时,在默认情况下当屏幕从竖评变到横屏时会触发onConfigurationChanged事件在默认情况下会重新加载画面并显示和横评一样的画面,这样会有2个问题,
布局问题,在竖屏显示的布局到横屏中由于宽和高发生了变化所有多少都会影响到布局(除非你定制2套画面在然后加个判断在横屏时怎么显示,在竖屏时怎么显示),当然最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上
只竖屏显示的话(android:screenOrientation="portrait")
只横屏显示的话(android:screenOrientation="landscape")
画面重新载入问题:在默认情况下横竖切换时会重新载入画面,导致一些不必要的资源浪费,更严重的是画面上保持的数据(特别是游戏方面)也都被重置了(当然你可以在重置前保存这些数据到数据库或者到文本文件中),要怎么避免在横竖切换时重新载入画面,
首先要在AndroidManifest.xml中找到你所指定的activity中加上android:configChanges="orientation|keyboardHidden"
然后在activity的逻辑处理中(代码部分)去重载onConfigurationChanged事件,具体代码参考一下(注:下面这个代码是把横竖屏切换时,画面不切换,且都当成竖屏处理 ):
复制代码代码如下:
布局问题,在竖屏显示的布局到横屏中由于宽和高发生了变化所有多少都会影响到布局(除非你定制2套画面在然后加个判断在横屏时怎么显示,在竖屏时怎么显示),当然最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上
只横屏显示的话(android:screenOrientation="landscape")
画面重新载入问题:在默认情况下横竖切换时会重新载入画面,导致一些不必要的资源浪费,更严重的是画面上保持的数据(特别是游戏方面)也都被重置了(当然你可以在重置前保存这些数据到数据库或者到文本文件中),要怎么避免在横竖切换时重新载入画面,
首先要在AndroidManifest.xml中找到你所指定的activity中加上
然后在activity的逻辑处理中(代码部分)去
@Override
publicvoidonConfigurationChanged(Configurationconfig){
try{
super.onConfigurationChanged(newConfig);
if(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE){
//横屏时要处理的代码,
//这里的代码是当屏幕横屏时当成竖屏显示
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}elseif(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_PORTRAIT){
//竖屏时要处理的代码
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}catch(Exceptionex){
}
}
以上就可以简单的控制你的app画面的显示方式并且在显示方式不变的情况下横竖屏切换时不会重新加载画面,即优化的你的app同时用户体验也相应提高了。
以上,希望对大家有帮助。呵呵。
相关文章
- 从原理到实战,全面总结 Android HTTPS 抓包
- Android Studio 提示 Unable to access Android SDK add-on list 问题处理
- android 空间分享到朋友圈,Android开发之微信分享到好友,朋友圈
- android中适配器的作用,适配器模式 在Android中的简单理解「建议收藏」
- android deeplink流程,Android Deeplink探究[通俗易懂]
- android vlc 中文字幕,解决Android版vlc中文乱码问题
- 【Android布局】在程序中设置android gravity 和 android layout Gravity属性
- android scaleanimation动画,Android 的ScaleAnimation 缩放动画基本运用
- Android触摸事件_android设置按钮点击事件
- Android 项目开发填坑记 - 谷歌商店上架被拒 Apps On Device
- Android之IPC机制问题汇总
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
- 【错误记录】Flutter / Android 报错 ( AAPT: error: attribute android:requestLegacyExternalStorage not found )
- 【Android 逆向】Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★
- 【Android Gradle 插件】Gradle 自定义 Plugin 插件 ② ( buildSrc 目录中实现 Gradle 插件 | 实现 Gradle 插件代码 | 模块引入插件并编译 )
- [android] 天气app布局练习(四)详解手机开发
- [android] 优酷环形菜单-相对布局练习详解手机开发
- Your Phone更新:Win10可同时串流使用多个Android应用
- android图像绘制(二)画布上放大缩小问题
- android图像绘制(六)获取本地图片或拍照图片等图片资源
- Android实用工具之emulator介绍
- Android开发笔记之:深入理解多线程AsyncTask
- android自定义ScrollView实现背景图片伸缩的实现代码及思路
- Android动态添加View的问题解决方法
- 解析android截屏问题
- 几个Android编程时需要注意的web问题
- Android开发之时间日期组件用法实例