android 隐藏导航栏 style,Android 全屏沉浸式(隐藏状态栏和导航栏)的一些设置

效果:进入后状态栏、导航栏隐藏,手势滑动显示,2s后又自动隐藏

style设置全屏(或者代码中设置)

true

在BaseActivity中设置沉浸模式

// 方法1,在onCreate中设置以下代码

hideSystemUiVisibility()

window.decorView.setOnSystemUiVisibilityChangeListener {

hideSystemUiVisibility()

}

// 方法2,重写 onWindowFocusChanged

override fun onWindowFocusChanged(hasFocus: Boolean) {

super.onWindowFocusChanged(hasFocus)

if (hasFocus) hideSystemUiVisibility()

}

// 设置沉浸模式

private fun hideSystemUiVisibility() {

window.decorView.systemUiVisibility =

View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY

}

对特殊控件的处理(显示前取消焦点,显示后再加上焦点,避免FLAG改变)

Dialog类的处理

重写show方法

override fun show() {

window?.setFlags(Windo

你可能感兴趣的:(android,隐藏导航栏,style)