如何更改 Android Jetpack Compose 中的 OutlineTextField 边框宽度?

Ale*_*nin 6 android android-jetpack-compose android-jetpack-compose-text

我的代码:

OutlinedTextField(
     value = state.value,
     onValueChange = { state.value = it },
     modifier = Modifier.fillMaxWidth().padding(start = 30.dp, end = 30.dp),
     label = { Text(text = "Something", fontSize = 14.sp) },
     shape = RoundedCornerShape(12.dp),
)
Run Code Online (Sandbox Code Playgroud)

我想增加边框宽度,以便支持颜色focusedBorderColor, 。disabledBorderColor

Abh*_*bhi 7

轮廓边框在 中定义为常数值OutlinedTextField

private val IndicatorUnfocusedWidth = 1.dp
private val IndicatorFocusedWidth = 2.dp
Run Code Online (Sandbox Code Playgroud)

没有直接的方法可以覆盖这些值。

因此,如果您需要实现动态边框宽度,则必须创建完整的自定义 TextField 可组合项。

您可以将完整的代码复制粘贴到OutlinedTextField.kt和中TextFieldImpl.kt,并根据需要修改它们以创建自定义可组合项。