4

我正在尝试从中删除填充,TextButton但它不起作用。

TextButton(
    onClick = {},
    modifier = Modifier.padding(0.dp)
) {
    Text(
        " ${getString(R.string.terms_and_conditions)}",
        color = MaterialTheme.colors.primary,
        fontFamily = FontFamily(Font(R.font.poppins_regular)),
        fontSize = 10.sp,
    )
}

我也尝试设置heightand sizeinModifier属性,但填充仍然存在

4

3 回答 3

4

包裹TextButtonwithCompositionLocalProvider以覆盖 的值LocalMinimumTouchTargetEnforcement。这只会删除额外的边距,但不会修改硬编码的 defaultMinSize。

CompositionLocalProvider(
    LocalMinimumTouchTargetEnforcement provides false,
) {
    TextButton(
        onClick = {},
        contentPadding = PaddingValues(),
    ) {
        Text(
            "Button",
            color = MaterialTheme.colors.primary,
            fontSize = 10.sp,
        )
    }
}
于 2021-11-19T07:04:24.443 回答
2

您不能使用padding修饰符减少填充: tt 总是在现有填充的顶部添加额外的填充。有关修饰符顺序的更多详细信息,请参阅此回复

您可以通过指定 来减少TextButtoncontentPadding参数的填充PaddingValues(0.dp),但这不会完全删除填充。

如果您需要完全删除填充,则可以使用clickable修饰符:

Text(
    "getString(R.string.terms_and_conditions",
    color = MaterialTheme.colors.primary,
    fontFamily = FontFamily(Font(R.font.neris_semi_bold)),
    fontSize = 10.sp,
    modifier = Modifier
        .clickable {
            // onClick()
        }
)

如果你想改变波纹的颜色,就像在 中所做的那样TextButton,你可以这样做:

.clickable(
    interactionSource = remember { MutableInteractionSource() },
    indication = rememberRipple(color = MaterialTheme.colors.primary),
) {
    
}
于 2021-09-08T06:47:43.703 回答
1

您可以更改contentPadding并应用固定大小来实现它:

TextButton(
    onClick = {},
    contentPadding = PaddingValues(0.dp),
    modifier = Modifier.height(20.dp).width(40.dp)
) {
    Text(
        "Button",
        color = MaterialTheme.colors.primary,
        fontSize = 10.sp,
    )
}

在此处输入图像描述在此处输入图像描述

于 2021-09-08T07:53:29.680 回答