Android——横屏竖屏

系统配置变更的处理机制

为了避免横竖屏切换时重新加载界面的情况,Android设计了一中配置变更机制,在指定的环境配置发生变更之时,无需重启活动页面,只需执行特定的变更行为。该机制的视线过程分为两步:

  • 修改 AndroidManifest.xml,给 activity 节点增加 android.configChanges 属性
  • 修改活动页面的Java代码,重写活动的 onConfigurationChanged 方法,补充对应的代码处理逻辑。
java 复制代码
    // 在配置项变更时触发。比如屏幕方向发生变更等
    @Override
    public void onConfigurationChanged(@NonNull Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        switch (newConfig.orientation) {
            case Configuration.ORIENTATION_PORTRAIT:
                tv_monitor.setText("当前屏幕方向为:竖屏");
                break;
            case Configuration.ORIENTATION_LANDSCAPE:
                tv_monitor.setText("当前屏幕方向为:横屏");
                break;
            default:
                break;
        }
    }
xml 复制代码
        <activity
            android:name=".ChangeDirectionActivity"
            android:configChanges="orientation|screenLayout|screenSize"
            android:exported="true">
  • 配置变更的豁免情况
    当是这些值发生变化的时候,Activity不会重新再创建

锁定屏幕方向

  • screenOrientation

landscape :横屏
portrait:竖屏

xml 复制代码
       <activity
            android:name=".ChangeDirectionActivity"
            android:configChanges="orientation|screenLayout|screenSize"
            android:screenOrientation="landscape"
            android:exported="true">

案例代码

相关推荐
Entropless2 小时前
OkHttp 深度解析(一) : 从一次完整请求看 OkHttp 整体架构
android·okhttp
v***91302 小时前
Spring+Quartz实现定时任务的配置方法
android·前端·后端
wilsend3 小时前
Android Studio 2024版新建java项目和配置环境下载加速
android
兰琛3 小时前
Android Compose展示PDF文件
android·pdf
走在路上的菜鸟4 小时前
Android学Dart学习笔记第四节 基本类型
android·笔记·学习
百锦再4 小时前
第21章 构建命令行工具
android·java·图像处理·python·计算机视觉·rust·django
skyhh6 小时前
Android Studio 最新版汉化
android·ide·android studio
路人甲ing..6 小时前
Android Studio 快速的制作一个可以在 手机上跑的app
android·java·linux·智能手机·android studio
携欢9 小时前
PortSwigger靶场之Web shell upload via path traversal靶场通关秘籍
android
消失的旧时光-194316 小时前
Android ADB指令大全详解
android·adb