在Jetpack Compose中,Button是一个常用的用户界面组件,用于执行某些操作或触发某些事件。Button控件是可触摸的,并且通常会显示一个文本或图标来表示其功能。
要在Jetpack Compose中创建一个Button,可以使用Button()函数,并通过参数指定按钮的文本、图标以及点击事件。
Button的函数声明如下。
@Composable
fun Button(
onClick: () -> Unit,
modifier: Modifier = Modifier,
enabled: Boolean = true,
shape: Shape = ButtonDefaults.shape,
colors: ButtonColors = ButtonDefaults.buttonColors(),
elevation: ButtonElevation? = ButtonDefaults.buttonElevation(),
border: BorderStroke? = null,
contentPadding: PaddingValues = ButtonDefaults.ContentPadding,
interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
content: @Composable RowScope.() -> Unit
)
下面通过简单的示例说明Button的使用方法。
Button的用法
Button通常要包含Text用于显示文字内容,如下所示。
Button最后的大括号包含Text,其实等价于 Button(onClick = {}, content = Text(text="按钮")),
最后一个参数为Lambda表达式,可以把它提取到括号外面,使用大括号包起来。
上面示例用到的参数的作用如下。
enabled用于设置按钮是启用还是禁用状态,false表示禁用,此时无法点击该按钮。
border用于设置按钮的边框。
colors用于设置按钮的背景颜色及字体颜色,可以分别设置启用状态和禁用状态的颜色。
其它Button
TextButton:这是一种只显示文字的按钮。此类按钮其实也可以使用Text实现,只需通过Modifier定义Text的点击处理函数即可。
OutlinedButton:这个一种带边框的按钮。此类按钮也可以使用Button实现,只需把背景定义为白色,再定义边框即可得到同样的按钮。
IconButton:图标按钮,此类按钮把Text换成了Icon,用于显示图标。
以上是Button的常见用法,总体来讲还是比较简单。