多语言展示
当前在线:1701今日阅读:175今日分享:29

android 怎么控制全局屏幕旋转

Android智能机在年轻人普及率很高,是广大青少年日常生活中不可或缺的休闲娱乐工具。目前很多应用都会支持竖屏和横屏两种播放模式,横屏播放相对竖屏来说可以区域更大,展示的元素更多,竖屏则更加符合人们使用习惯。因此横竖屏管理在Android应用开发中会经常出现,本文就简单介绍常见的横竖屏切换实现。
工具/原料

Android Studio开发工具

方法/步骤
1

启动Android Studio开发工具,创建一个新的Android项目,添加ScreenTestActivity组建,在Activity的内容布局中添加一个切换横竖屏的按钮

2

Android中如何获取到当前的Activity处于全屏还是竖屏呢,在Activity内部包含一个Resources资源对象,Resouces资源对象内部包含Configuration配置对象,配置对象内部的orientation属性就表明当前Activity横竖屏状态,Configuration.ORIENTATION_LANDSCAPE和Configuration.ORIENTATION_PORTRAIT两个常量分别代表横屏和竖屏。

3

如何通过代码修改当前Activity的横竖屏状态呢,Activity.setRequestedOrientation()方法就能够调整Activity的方向,图中的代码会先判定横屏状态时将屏幕切换成竖屏,竖屏时将屏幕切换成横屏,注意参数使用的时ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE和ActivityInfo.SCREEN_ORIENTATION_PORTRAIT,不好和Configuration里的横竖屏常量混淆。

4

通常情况下在切换Activity的横竖屏状态时会导致Activity配置发生改变,Android系统会销毁当前Activity并且重建新的Activity展示,在onCreate()和onDestroy()、onConfigurationChanged()方法中添加日志,点击切换按钮切换横竖屏,会发现Activity执行了onCreat()和onDestroy(),但没有执行onConfigurationChanged()方法。

5

接着为Activity配置android:configChanges='orientation|screenSize',此时Android系统不会销毁旧的Activity,只是执行onConfigurationChanged()方法。

6

经过上面的步骤已经介绍完横竖屏切换和生命周期函数的回调时机,如果用户界面在切换屏幕变化特别大可以允许Activity销毁重建,如果变化不是很大可以在onConfigurationChanged()方法中调整那些横竖屏不同的界面

推荐信息