3

我怎样才能使文本字段,增加其文本内容的高度?我尝试使用类似于下面的代码,但它的高度是固定的,并且不会增长。

演示图像

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 来固定高度,但我不知道如何不给出固定高度并且仍然随内容动态增加文本字段高度?

4

1 回答 1

4

检查你的约束和重量。

你可以使用类似的东西:

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,"")
}

在此处输入图像描述

于 2021-05-23T07:42:00.690 回答