【发布时间】:2021-08-24 14:23:07
【问题描述】:
当文本字段显示在屏幕上时,我想选择文本字段中的所有字符。当传递像 TextRange(2,2) 这样的相同索引时,它可以正常工作,但是当使用像 TextRange(0, name.length)) 这样的不同索引时,选择不起作用。我已经提到了下面的功能
@Composable
fun TestFunction(name: String) {
var fieldValue by remember {
mutableStateOf(TextFieldValue(name, selection = TextRange(0, name.length)))
}
val focusRequester by remember {
mutableStateOf(FocusRequester())
}
DisposableEffect(Unit) {
focusRequester.requestFocus()
onDispose { }
}
BasicTextField(
value = fieldValue,
onValueChange = { fieldValue = it },
modifier = Modifier.focusRequester(focusRequester),
)
}
【问题讨论】:
-
在我的情况下它有效:
(2,2)将指针放在第二个字符之后,(0, name.length)突出显示整个文本,并被退格键删除。尝试删除字符,也许在您的情况下选择缺少颜色?带有“复制/粘贴/等”的选择句柄不可见,就像我用硬打开它一样,也许这就是你在说什么?添加对你不起作用的字符串,它可能是相关的。 -
非常感谢! @PhilipDukhov,你真的拯救了我的一天。这是颜色的问题。我有白色作为原色。当改变颜色选择矩形是可见的。我仍然想知道为什么没有显示白色半透明颜色。
标签: android android-jetpack-compose