关于 Jetpack 中文本字段高度的查询 Compose
query regarding text field height in jetpack compose
我怎样才能使文本字段随着其文本内容增加高度?我试过类似下面的代码,但它的高度是固定的,不会增长。
Scaffold(
topBar = {
},
content = {
Box(modifier = Modifier.padding(it)) {
Column(){
LazyColumn(modifier = Modifier.fillMaxHeight(0.9)){
// some composable here for UI
}
Row(){
// icon
BasicTextField(
maxLines = 4,
)
// icon
}
}
}
}
)
虽然看起来我已经通过给列 0.9 来固定高度,但我不知道如何不给固定高度并且仍然随着内容动态增加文本字段高度?
检查您的限制和体重。
您可以使用类似的东西:
Column() {
LazyColumn(modifier = Modifier.weight(1f)) {
//....some composable here for UI
}
Row(){ /* .... */ }
)
例如:
Row(
Modifier.padding(horizontal = 8.dp),
verticalAlignment = Alignment.CenterVertically
) {
Icon(Icons.Filled.Add,"")
BasicTextField(
value = text,
onValueChange = { text = it },
modifier = Modifier
.padding(2.dp)
.weight(1f),
maxLines = 4,
){ innerTextField ->
Box(modifier = Modifier
.background(LightGray,shape = RoundedCornerShape(4.dp))
.padding(4.dp),
contentAlignment = Alignment.CenterStart,){
innerTextField()
}
}
Icon(Icons.Filled.Send,"")
}
我怎样才能使文本字段随着其文本内容增加高度?我试过类似下面的代码,但它的高度是固定的,不会增长。
Scaffold(
topBar = {
},
content = {
Box(modifier = Modifier.padding(it)) {
Column(){
LazyColumn(modifier = Modifier.fillMaxHeight(0.9)){
// some composable here for UI
}
Row(){
// icon
BasicTextField(
maxLines = 4,
)
// icon
}
}
}
}
)
虽然看起来我已经通过给列 0.9 来固定高度,但我不知道如何不给固定高度并且仍然随着内容动态增加文本字段高度?
检查您的限制和体重。
您可以使用类似的东西:
Column() {
LazyColumn(modifier = Modifier.weight(1f)) {
//....some composable here for UI
}
Row(){ /* .... */ }
)
例如:
Row(
Modifier.padding(horizontal = 8.dp),
verticalAlignment = Alignment.CenterVertically
) {
Icon(Icons.Filled.Add,"")
BasicTextField(
value = text,
onValueChange = { text = it },
modifier = Modifier
.padding(2.dp)
.weight(1f),
maxLines = 4,
){ innerTextField ->
Box(modifier = Modifier
.background(LightGray,shape = RoundedCornerShape(4.dp))
.padding(4.dp),
contentAlignment = Alignment.CenterStart,){
innerTextField()
}
}
Icon(Icons.Filled.Send,"")
}