WindowInsetsController es fácil de usar

WindowInsetsController es proporcionado oficialmente por android después de api30. Se usa para controlar la clase de control de la ventana y darse cuenta de la simplicidad del control de la ventana.

Para usar WindowInsetsController, debe aumentar la versión principal a 1.5.0 o superior, y puede ser compatible con versiones inferiores posteriores a la 1.5.

implementation 'androidx.core:core:1.5.0-alpha05'

Crear una instancia de WindowInsetsController:

val controller = ViewCompat.getWindowInsetsController(view)

Barra de estado de control

显示状态栏:
controller?.show(WindowInsetsCompat.Type.statusBars())

隐藏状态栏:
controller?.hide(WindowInsetsCompat.Type.statusBars())

状态栏文字颜色改为黑色:
controller?.isAppearanceLightStatusBars = true

状态栏文字颜色改为白色:
controller?.isAppearanceLightStatusBars = false

Controla la barra de navegación

显示
controller?.show(WindowInsetsCompat.Type.navigationBars())
隐藏
controller?.hide(WindowInsetsCompat.Type.navigationBars())

//导航栏隐藏时手势操作
controller?.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE

//systemBarsBehavior有三个值:
BEHAVIOR_SHOW_BARS_BY_SWIPE
BEHAVIOR_SHOW_BARS_BY_TOUCH
BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
目前可能跟部分手机手势有冲突

Teclado de control

(Necesita tener EditText en la interfaz y EditText para que el enfoque funcione)

显示键盘
controller?.show(WindowInsetsCompat.Type.ime())
隐藏键盘
controller?.hide(WindowInsetsCompat.Type.ime())

Operar todas las barras del sistema

全屏显示:
 controller?.hide(WindowInsetsCompat.Type.systemBars())
显示其他系统栏:
controller?.show(WindowInsetsCompat.Type.systemBars())

 

Supongo que te gusta

Origin blog.csdn.net/jingzz1/article/details/111468726
Recomendado
Clasificación