🍣
Jetpack Compose TextField のテキストの末尾にカーソルを置く
文字の入った TextField にフォーカスしてIMEが開いたときは、編集です。
TextFieldValue を使います。
TextFieldValue(
text = text,
selection = TextRange(text.length)
)
selection がカーソルの位置です。
@Composable
fun CustomTextField(
text: String,
focusRequester: FocusRequester,
onChange: (String) -> Unit
) {
var textFieldValue by remember {
mutableStateOf(
TextFieldValue(
text = text,
selection = TextRange(text.length)
)
)
}
TextField(
value = textFieldValue,
onValueChange = { changed ->
textFieldValue = changed
onChange(changed.text)
},
modifier = Modifier.focusRequester(focusRequester)
)
}
Discussion