You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何减小Jetpack Compose中Button组件的内部内边距

Jetpack Compose 减小Button内部内边距的解决方法

你当前的修改方案无法生效,是因为Jetpack Compose的Material Button默认自带固定的内部内边距,外层Modifier设置的padding是控制按钮与其他组件的外部间距,给子Text设置的padding也无法覆盖Button的默认内置内边距。

解决方法

直接在Button的构造参数中传入contentPadding,自定义你需要的内部边距即可,修改后的代码参考如下:

Button(
    onClick = {},
    // 自定义内部边距,horizontal控制左右边距,vertical控制上下边距,可按需调整数值
    contentPadding = PaddingValues(horizontal = 4.dp, vertical = 2.dp),
    shape = RoundedCornerShape(30.dp),
    border = BorderStroke(1.dp, Color(0xFFC4C4C4)),
    colors = ButtonDefaults.buttonColors(
        contentColor = MaterialTheme.colors.onBackground,
        backgroundColor = MaterialTheme.colors.onBackground
    )
) {
    Text(
        text = "lorem ipsu",
        fontSize = 13.sp,
        textAlign = TextAlign.Center
    )
}

补充说明

  • 若需要完全移除默认内边距,可直接传入contentPadding = PaddingValues(0.dp)
  • 调整边距时建议保留合理的点击热区范围,避免按钮过小影响点击操作

当前实现效果参考:
当前按钮效果

内容的提问来源于stack exchange,提问作者Wafi_ck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:36:04