繁体   English   中英

无法在 Jetpack Compose 中创建按钮

[英]Cannot create Button in Jetpack Compose

我在互联网上的大部分教程中发现的是:

@Composable
fun addButton() {
   Button(text = "I'm a Compose Button")
}

但是 android studio 给我一个错误:需要类型不匹配:() -> 单位,找到:字符串。 我不知道如何解决这个问题。

根据文档,要创建Button您必须在RowScope内指定文本:

Button(onClick = {/* To execute when button is clicked */}) {
    Text("I'm a Compose Button")
}

然后通过 androidx.ui.foundation package 中定义的Text() function 设置文本。

您可以在 material-ui 文档中找到有关它们的更多信息: https://developer.android.com/reference/kotlin/androidx/ui/material/package-summ

这就是在 Jetpack compose 中添加 Button 的方法。

Button(onClick = {/*Handle click action */}, modifier = Modifier.padding(16.dp)) {
    Text(
        text = "Jetpack Compose Button"
    )
}

参考:

[1] https://developer.android.com/reference/kotlin/androidx/compose/material/package-summary#button

使用打击代码

Button(onClick {/* your onClick listener */}){
   Text("I'm a Compose Button")
}

我知道这看起来不太好,但你必须这样做

                Button(onClick = {handle Click Action }) 
                     {
                    Text(text = "Your Button Text")
                }

那些不熟悉撰写的人可以像这样使用按钮简单按钮

    @Composable
fun MyButton() {
    Column(
        modifier = Modifier.fillMaxWidth().fillMaxHeight(),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        Button(
            onClick = {},
            modifier = Modifier.padding(all = Dp(10f)),
            enabled = true,
            border = BorderStroke(width = 1.dp, brush = SolidColor(Color.Blue))

        ) {
            Text(text = "I am a compose button", color = Color.White)
        }
    }
}

您没有使用语法,

你这个代码:

    Button(onClick = {/*Handle click action */} ){
    Text(
        text = "Write the button text here"
    )
}

如果你想使用修饰符然后参考这个,

    Button(onClick = {/*Handle click action */}, modifier = Modifier.padding(16.dp)) {
    Text(
        text = "Write the button text here"
    )
}

暂无
暂无

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

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