gpt4 book ai didi

android - Jetpack Compose TextField 剪切滚动条上的文本

转载 作者:行者123 更新时间:2023-12-05 08:10:36 27 4
gpt4 key购买 nike

我有一个固定高度的 TextField。当用户输入较长的文本时,它将滚动。滚动时它会切断填充内的任何文本:

enter image description here

基本上是这样的:

var text by remember { mutableStateOf("") }
TextField(
value = text,
onValueChange = { value -> text = value },
modifier = modifier
.fillMaxWidth()
.height(100.dp),
colors = TextFieldDefaults.textFieldColors(
focusedIndicatorColor = Color.Transparent,
unfocusedIndicatorColor = Color.Transparent,
backgroundColor = Color.Transparent
)
)

可以通过直接使用 BasicTextField 调整/删除 TextField 的填充,例如见this stack overflow question .

但是我想保留填充,但在用户滚动时不剪裁文本。一个简单的 Text Composable 具有这种行为。

最佳答案

您可以使用BasicTextField 并修改其decorationBox 参数。只需将 innerTextField() 放入可滚动的 Column 中,并在其顶部和底部添加 Spacer

var text by remember {
mutableStateOf("Hello Stackoverflow")
}
val paddingSize = remember { 16.dp }

BasicTextField(
modifier = Modifier
.height(100.dp),
value = text,
onValueChange = { text = it },
decorationBox = { innerTextField ->
Column(
modifier = Modifier
.fillMaxWidth()
.verticalScroll(state = rememberScrollState())
) {
Spacer(modifier = Modifier.height(paddingSize))
innerTextField()
Spacer(modifier = Modifier.height(paddingSize))
}

}
)

关于android - Jetpack Compose TextField 剪切滚动条上的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73336676/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com