Jetpack Compose - 阻止重点元素窃取回压?

时间:2021-08-01 18:09:32

标签: android-jetpack-compose android-jetpack-compose-scaffold

我有一些元素在底部工作表中有焦点。我想在按下系统后退按钮时折叠底部工作表,这很容易:

  BackHandler(enabled = bottomSheetState.isExpanded) {
    scope.launch {
      bottomSheetState.collapse()
    }
  }

问题是,如果一个元素在底部工作表中获得焦点,则只有在按下后退按钮后才会触发后退处理程序的逻辑两次:一次从元素上移除焦点(轮廓文本字段)并再次触发崩溃。

我尝试使用 LocalFocusManager.current 组合在按下后退时清除焦点,但直到元素失去焦点时才会触发后退逻辑。

我可以清除对折叠的关注,所以我猜真正的问题是当工作表 1) 可见且 2) 有一个子元素聚焦时必须按回两次。

有没有办法阻止焦点元素取代我的后台逻辑?

0 个答案:

没有答案