繁体   English   中英

Jetpack 撰写手柄逃生按钮?

[英]Jetpack compose handle escape button?

如何在常规应用程序中正确处理键盘退出按钮? 如果您遵循可访问性指南,它应该会触发后退导航。

在旧的 Android 方式中,可以这样处理:

class MainActivity: Activity 
... 
    override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
        if (keyCode == KeyEvent.KEYCODE_ESCAPE) {
            Log.d("T", "onKeyUp: KEYCODE_BACK")
            onBackPressed()
        }
        return super.onKeyUp(keyCode, event)
    }

您如何在 Jetpack Compose 中正确处理这个问题?

解决方案

您可以使用像Modifier.onKeyEvent这样的键盘修饰符

例子

例如,在应用程序的根目录:


Box(
    modifier = Modifier
        .onKeyEvent {
            if(it.key == Key.Escape) {
                // Assuming you are using jetpack compose navigation
                navController.popBackStack()
            }
            true
        }
) {
    // Your content
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM