Pio*_*ski 4 android android-jetpack-compose
Android 上的传统EditText
支持android:selectAllOnFocus属性,这会导致当用户单击 时选择其内容EditText
。
在 Jetpack Compose 中使用时如何实现此行为androidx.compose.material.TextField
?
您可以从中收集焦点状态MutableInteractionSource
并根据它更改选择状态:
var textFieldValue by remember { mutableStateOf(TextFieldValue("Lorem ipsum")) }
val interactionSource = remember { MutableInteractionSource() }
val isFocused by interactionSource.collectIsFocusedAsState()
LaunchedEffect(isFocused) {
textFieldValue = textFieldValue.copy(
selection = if (isFocused) {
TextRange(
start = 0,
end = textFieldValue.text.length
)
} else {
TextRange.Zero,
}
)
}
TextField(
value = textFieldValue,
onValueChange = { textFieldValue = it },
interactionSource = interactionSource,
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1046 次 |
最近记录: |