Android Compose TextField 如何设置固定显示3行
要实现无内容时也默认显示3行的固定高度TextField,只需在原有代码基础上新增minLines = 3参数即可。minLines参数可以指定输入框的最小展示行数,和传统XML中EditText.lines属性效果等价,搭配你已经设置的maxLines = 3就能实现无论输入内容多少,输入框始终固定显示3行的效果。
你原有代码只设置了maxLines限制最多显示3行,但未指定最小行数,所以无内容时只会默认显示单行高度。
调整后的完整代码如下:
OutlinedTextField( value = currentText, onValueChange = { currentText = it }, label = { Text ("Label") }, maxLines = 3, minLines = 3, // 新增最小行数配置 modifier = Modifier.fillMaxWidth().wrapContentHeight().padding(16.dp), singleLine = false )
补充说明:minLines参数从Compose Material 1.2.0版本开始提供,如果你使用的依赖版本低于该版本,可先升级依赖,也可通过硬编码高度的方式临时实现:
OutlinedTextField( value = currentText, onValueChange = { currentText = it }, label = { Text ("Label") }, maxLines = 3, modifier = Modifier .fillMaxWidth() .height(120.dp) // 可调整数值适配你需要的3行高度 .padding(16.dp), singleLine = false )
硬编码高度的适配性不如minLines参数,优先推荐使用前者方案。
内容的提问来源于stack exchange,提问作者anil
相关产品推荐
相关产品推荐

