[英]Jetpack Compose maxlines on textField is not working
我正在制作一個待辦事項應用程序,當我編寫待辦事項時,我只放置了 1 行,但是當我單擊 Enter 時它會創建一個新行,有什么辦法可以解決它嗎?
@Composable
fun TextFieldDemo() {
Column(
Modifier
.padding(50.dp, 600.dp, 0.dp, 0.dp)
.fillMaxHeight()) {
val textState = remember { mutableStateOf(TextFieldValue()) }
TextField(
value = textState.value,
onValueChange = { textState.value = it },
label = {Text(text = "What you need Todo?")},
singleLine = true //apenas uma linha de texto , podendo usar-se tambem singleLine = true
)
}
}
只需設置maxLines = 1
和singleLine = true
,在onValueChange
上檢測\n
對我有用
@Composable
fun SearchBar() {
BasicTextField(
textValue,
onValueChange = {
if (!it.text.contains("\n"))
textValue = it
},
maxLines = 1,
singleLine = true,
)
}
在您的值更改回調中,您可以檢查文本並過濾掉換行符。
onValueChange = {
textState.value = /* filter invalid chars from it */
},
從 Compose 1.0.0-alpha07 開始,您可以使用maxLines
來限制文本字段的最大行數:
TextField(
onValueChange = { },
maxLines = 1
)
maxLines 用於限制TextField的高度例如maxLines = 7,意味着TextField最大高度僅為7行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.