Jetpack Compose——Button(按钮)的使用

本文介绍了Jetpack Compose中Button组件的使用,包括不同类型的Button,如IconButton、TextButton、OutlinedButton、IconToggleButton。详细解析了Button的构造参数,如elevation(阴影)、shape(形状)、border(边框)、colors(颜色)、contentPadding(内容内边距)和interactionSource(状态变化),并展示了如何自定义这些属性来实现所需效果。

Button这个组件,官方已经实现了Material Design的效果,一般来说我们直接使用这个即可,另外官方也是给我们封装了不同类型的Button,分别为IconButton、TextButton、OutlinedButton、IconToggleButton

先来看一下简单的使用效果:

       Button(onClick = { println("点击了按钮") }) {
            Icon(Icons.Default.Search, contentDescription = null)
            Text(text = "测试")
        }

由此可以看到Button中的content内容Icon和Text是按照水平方式排列的(可以认为是Row)

Button构造参数:(简单的直接看注释,对于复杂的做一些介绍)

@Composable
fun Button(
    onClick: () -> Unit,//点击事件响应
    modifier: Modifier = Modifier,//修饰符(后面再研究)
    enabled: Boolean = true,//按钮是否可用
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },//状态变化
    elevation: ButtonElevation? = ButtonDefaults.elevation(),//阴影
    shape: Shape = MaterialTheme.shapes.small,//形状
    border: BorderStroke? = null,//边框
    colors: ButtonColors = ButtonDefaults.buttonColors(),// 颜色
    contentPadding: PaddingValues = ButtonDefaults.ContentPadding,//内容内边距
    content: @Composable RowScope.() -> Unit//内容
)

modifier的基本属性介绍请参看:Modifier的基本属性简单介绍

1.elevation 阴影
Button的阴影参数是有有默认值的,我们也可以修改
ButtonDefaults.elevation(defaultElevation,pressedElevation,disabledElevation,hoveredElevation,focusedElevation)
defaultElevation表示默认的阴影
pre

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值