Android Compose 监听系统返回键监听的方法

简介: Android Compose 监听系统返回键监听的方法

Compose返回键监听方法


方法1

@Composable
fun Back1(controller: NavHostController) {
    Column(
        Modifier
            .fillMaxSize()
            .background(Color.Red)
            .clickable {
                controller.popBackStack()
            }) {
        Text(text = "点击返回上一个页面")
        Text(text = "使用BackHandler实现返回键监听")
    }
    BackHandler(enabled = true) {
        Log.e("tag","返回键被点击")
    }
}
复制代码


方法2

在@Composable方法中加入如下监听设置,方法1的实现方式就是使用如下方式实现的

@Composable
fun Back2(controller: NavHostController) {
    Column(
        Modifier
            .fillMaxSize()
            .background(Color.Green)
            .clickable {
                controller.popBackStack()
            }) {
        Text(text = "点击返回上一个页面")
        Text(text = "使用OnBackPressedDispatcher监听返回键被点击")
    }
    val callback = remember {
        object : OnBackPressedCallback(true) {
            override fun handleOnBackPressed() {
                log("回退键被点击")
                showToast("监听到返回键被点击监听")
            }
        }
    }
    val dispatcher = LocalOnBackPressedDispatcherOwner.current?.onBackPressedDispatcher
    DisposableEffect(key1 = Unit, effect = {
        dispatcher?.addCallback(callback)
        onDispose {
            callback.remove()
        }
    })
}



相关文章
|
1月前
|
Android开发
Android调用相机与相册的方法1
Android调用相机与相册的方法
37 0
|
4月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
64 0
|
4月前
|
IDE API 开发工具
Google I/O :Android Jetpack 最新变化(四)Compose
Google I/O :Android Jetpack 最新变化(四)Compose
111 0
|
3天前
|
机器学习/深度学习 Java Shell
[RK3568][Android12.0]--- 系统自带预置第三方APK方法
[RK3568][Android12.0]--- 系统自带预置第三方APK方法
19 0
|
3天前
|
程序员 Android开发
Android亮度调节的几种实现方法
Android亮度调节的几种实现方法
8 0
|
3天前
|
Shell Android开发
Android Activity重写dump方法实现通过adb调试代码
Android Activity重写dump方法实现通过adb调试代码
10 0
|
3天前
|
Android开发
Android APP 隐藏系统软键盘的方法
Android APP 隐藏系统软键盘的方法
10 0
|
4天前
|
Android开发
Android获取横竖屏状态及监听
Android获取横竖屏状态及监听
9 0
|
4天前
|
Android开发
Android中去掉ActionBar的几种方法
Android中去掉ActionBar的几种方法
10 0
|
4天前
|
Android开发
Android监听蓝牙广播
Android监听蓝牙广播
9 1