我正在尝试使用Android撰写创建一个自定义TextField,请参阅下面
TextFieldDefaults.OutlinedTextFieldDecorationBox(
contentPadding = PaddingValues(vertical = 10.dp),
value = searchText,
innerTextField = innerTextField,
enabled = enabled,
singleLine = singleLine,
visualTransformation = VisualTransformation.None,
interactionSource = interactionSource,
colors = textFieldColors,
leadingIcon = {
Icon(
modifier = Modifier.size(leadingIconSize),
painter = painterResource(id = R.drawable.ic_search),
contentDescription = ""
)
},
placeholder = {
Text("what is doin ")
}
)
由于设计要求,文本字段的高度应为36 of,而文本字段本身的高度约为56 of。
我找不到任何信息来定制这个值,所以我使用参数contentPadding
来实现这个目标。
不过,对我来说似乎太丑了。还有其他方法来实现这一点吗?
提前谢谢。
发布于 2022-11-03 09:13:45
将height
修饰符应用于BasicTextField
。
类似于:
BasicTextField(
value = text,
onValueChange = { text = it },
modifier = Modifier
.height(36.dp),
singleLine = singleLine,
interactionSource = interactionSource
) { innerTextField ->
TextFieldDefaults.OutlinedTextFieldDecorationBox(
value = text,
innerTextField = innerTextField,
enabled = enabled,
singleLine = singleLine,
visualTransformation = VisualTransformation.None,
interactionSource = interactionSource,
contentPadding = TextFieldDefaults.textFieldWithoutLabelPadding(
top = 0.dp,
bottom = 0.dp
)
)
}
https://stackoverflow.com/questions/74299661
复制相似问题