Android Jetpack Compose помните, SystemUiController() не соблюдает mutableStateOf()

Я пытаюсь реализовать функцию скрытия/отображения для строки состояния в AbstractComposeView.

      class MyView @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0
) : AbstractComposeView(context, attrs, defStyleAttr) {
    private val hide = mutableStateOf(false)
    var hideBars: Boolean
        get() = hide.value
        set(value) { hide.value = value }
    @Composable
    override fun Content() {
        val systemUiController = rememberSystemUiController()
        SideEffect {
            systemUiController.isStatusBarVisible = !hide.value
        }
        setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnDetachedFromWindow)
        Launch()
    }
}

При установке hideBars = true/false это не имеет никакого эффекта.

      view.findViewById<MyView>(R.id.my_view).hideBars = true

Любые предложения или обходные пути?

0 ответов

Другие вопросы по тегам