繁体   English   中英

Jetpack 撰写快餐栏操作单击不起作用

[英]Jetpack compose snackbar action click is not working

  • 我在 Jetpack compose 中显示了一个带有特定操作的小吃栏,但单击该操作的侦听器不起作用。

这是我的代码:

@Composable
fun MySnackBar() {
        Snackbar(
            modifier = Modifier.padding(4.dp),
            action = {
                TextButton(color = LightBlue,onClick = {
                  Log.d("TAG", "Action clicked!")
                }) {
                    Text(text = "Remove")
                }
            }
        ) {
            Text(text = "This is a basic Snackbar with action item")
        }
    }

在脚手架中,您可以使用:

   val scope = rememberCoroutineScope()
   scope.launch {

        val snackbarResult = scaffoldState.snackbarHostState.showSnackbar(
            message = "This is a basic Snackbar with action item",
            actionLabel = "Remove"
        )
        when (snackbarResult) {
            SnackbarResult.Dismissed -> {}
            SnackbarResult.ActionPerformed -> {}
        }
    }

在此处输入图像描述

如果你没有Scaffold ,你可以使用类似的东西:

        val snackState = remember { SnackbarHostState() }
        SnackbarHost(hostState = snackState, Modifier){ data ->
            Snackbar(
                actionColor = Red,
                snackbarData = data
            )
        }

然后使用上面相同的代码来显示SnackbarscaffoldState.snackbarHostState更改为snackState

按钮(onClick = { Snackbar(动作 = {}){ 文本(“你好”)} }`

暂无
暂无

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

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