小编Ger*_*ruz的帖子

Jetpack Compose 中没有焦点的 OnKeyEvent

我正在创建一个使用设备上的物理按钮的应用程序。

根据活动屏幕的不同,此按钮将具有不同的功能。

对于“活动”,我要做的就是为每个屏幕创建一个“活动”,并在每个屏幕中重写 onKeyDown 函数。如何通过在不同 Jetpack Compose 屏幕之间导航的单个 Activity 来实现此目的?根据Android文档,正确的方法是这样的......

Box(modifier = Modifier
    .onKeyEvent {
        Log.e("Pressed", it.nativeKeyEvent.keyCode.toString())
        true
    }
    .focusable()
    .fillMaxSize()
    .background(Color.Gray)
) {
    // All screen components
}
Run Code Online (Sandbox Code Playgroud)

但这仅在屏幕上的一个元素聚焦时才有效,而我要求的是它始终有效或无效,有没有办法实现这一点?

android kotlin android-jetpack-navigation android-jetpack-compose

3
推荐指数
1
解决办法
1924
查看次数