Jetpack Compose 是 Android 的现代 UI 工具包,旨在简化 UI 开发过程。OutlinedTextField
是 Jetpack Compose 中的一个组件,用于创建带有轮廓样式的文本输入框。这种文本输入框在用户输入时显示一个轮廓,而不是传统的填充样式。
OutlinedTextField
提供了一种统一的轮廓样式,使得应用界面更加一致。OutlinedTextField
主要有以下几种类型:
OutlinedTextField
适用于各种需要用户输入的场景,例如:
OutlinedTextField
的边框颜色不正确?原因:可能是由于主题颜色配置不正确,或者自定义样式覆盖了默认样式。
解决方法:
@Composable
fun CustomOutlinedTextField() {
val colors = TextFieldDefaults.outlinedTextFieldColors(
borderColor = Color.Blue,
unfocusedBorderColor = Color.Gray
)
OutlinedTextField(
value = "",
onValueChange = {},
colors = colors
)
}
OutlinedTextField
添加图标?解决方法:
@Composable
fun OutlinedTextFieldWithIcon() {
OutlinedTextField(
value = "",
onValueChange = {},
leadingIcon = {
Icon(Icons.Default.Email, contentDescription = "Email")
}
)
}
解决方法:
@Composable
fun OutlinedTextFieldWithError() {
var text by remember { mutableStateOf("") }
val errorMessage = if (text.isEmpty()) "Field is required" else null
OutlinedTextField(
value = text,
onValueChange = { text = it },
error = errorMessage
)
}