Mar*_*il4 6 android android-jetpack-compose android-jetpack-compose-text
我正在尝试制作一个填充屏幕宽度的 editText,它的提示和输入从屏幕中心开始。
我选择BasicTextField,因为TextField 和OutlinedTextFields 的样式对我来说完全不需要。
我尝试过这样做。
BasicTextField(
value = loginId,
onValueChange = {
loginId = it
},
decorationBox = {
Text(text = "Input your id", modifier = Modifier.align(Alignment.CenterHorizontally).fillMaxWidth())
},
modifier = Modifier
.fillMaxWidth()
.padding(start = 19.dp,
bottom = 4.5.dp, end = 19.dp, top = 40.dp)
.background(Purple200)
.align(Alignment.CenterHorizontally),
)
Run Code Online (Sandbox Code Playgroud)
这没有效果。我能用这个做什么?
您可以申请TextAlign.Center您的Text. 您可以使用style或textAlign属性。就像是:
Text(text = "Input your id",
modifier = Modifier.fillMaxWidth(),
style = LocalTextStyle.current.copy(textAlign = TextAlign.Center))
Run Code Online (Sandbox Code Playgroud)
或者:
Text(text = "Input your id",
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center)
Run Code Online (Sandbox Code Playgroud)
另外,为了正确工作,由于您正在使用decorationBox,因此您必须innerTextField在decorationBox. 就像是:
decorationBox = { innerTextField ->
//....
if (loginId.isEmpty()) {
Text("....")
}
innerTextField() //<-- Add this
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6177 次 |
| 最近记录: |