android - 如何获取 TextField (Jetpack Compose) 的光标位置?

标签 android android-jetpack-compose cursor-position

对于常规的EditText,我们可以通过调用getSelectionStart() 方法来获取光标位置。在 Jetpack Compose 中,这种可能性适用于 ClickableText,但显然不适用于 TextField 或 OutlinedTextField。

有没有人遇到过这个问题并知道如何解决?

最佳答案

For a regular EditText, we can get the cursor position by calling the getSelectionStart() method

那是因为 EditText 是有状态的。

In Jetpack Compose this posibility is available for ClickableText, but apparently not for TextField or OutlinedTextField.

可组合项是无状态的。

Has anyone come across this problem and know how to solve it?

In the case of BasicTextField()和相关的可组合物,use the composable where your state is TextFieldValue .然后,TextFieldValueselection 属性有一个 TextRange,您可以使用它来获取光标位置。

关于android - 如何获取 TextField (Jetpack Compose) 的光标位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72808695/

相关文章:

objective-c - 如何在 Mac OS X 中获取相对于窗口的光标位置?

linux - 在 Linux 上如何将光标锁定在窗口内部?

java - Android - 如何将一个扩展名的文件添加到 ListView

android - Android Studio自动跳过调试行

android - 我如何在Android中绘制带有渐变的进度环?

android - Jetpack 在深色模式下撰写 TextField 文本颜色

android - 设置 IMediaPlaybackService

android-jetpack-compose - 使用 Dialog 作为带有 jetpack compose 的导航目的地

android - Jetpack 撰写实时预览

c - 禁用所有 Emacs c 模式重新格式化、插入/拒绝、光标跳转