安卓处理屏幕旋转事件
最近在做一个套 WebView 的 App, 当点击页面上的全屏按钮时,App 总会崩溃。
找了些资料发现,原来是没有设置 android:configChanges 属性
在要监听屏幕旋转事件的 Activity 上加上这条属性就好了
android:configChanges="orientation|screenSize"
最后的 screenSize 是不必要的,不加会在屏幕旋转时重新走一遍 Activity 的生命周期,加上后屏幕旋转时就会只走 onConfigurationChanged 方法了
最后,贴下我的 onConfigurationChanged 方法代码
override fun onConfigurationChanged(newConfig: Configuration) {
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            logger("切换横屏")
            window.setFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN
            )
        } else {
            logger("切换竖屏")
            window.clearFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN
            )
        }
        super.onConfigurationChanged(newConfig)
    }
作用就是 横屏时自动隐藏状态栏, 竖屏时恢复显示状态栏
                    
                
                
            
        
浙公网安备 33010602011771号