首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将单词光标移动到Android EditText文本的y位置?

要将单词光标移动到Android EditText文本的y位置,可以使用EditText的setSelection()方法来实现。setSelection()方法接受两个参数,分别是要设置的光标位置的起始和结束索引。

要移动到指定的y位置,首先需要获取EditText的布局位置信息。可以通过getLayout()方法获取到Layout对象,然后使用getLineForVertical()方法获取到指定y位置所在的行数。

接下来,可以使用getLineStart()方法获取到该行的起始索引,再加上要移动到的y位置所在行的字符偏移量,即可得到要设置的光标位置的起始索引。结束索引可以设置为与起始索引相同,以保持光标的位置为一个字符。

以下是一个示例代码:

代码语言:txt
复制
EditText editText = findViewById(R.id.editText);

// 获取要移动到的y位置
int desiredY = 100;

// 获取Layout对象
Layout layout = editText.getLayout();

// 获取指定y位置所在的行数
int line = layout.getLineForVertical(desiredY);

// 获取该行的起始索引
int lineStart = layout.getLineStart(line);

// 计算要设置的光标位置的起始索引
int startIndex = lineStart + (desiredY - layout.getLineTop(line));

// 设置光标位置
editText.setSelection(startIndex, startIndex);

这样,就可以将单词光标移动到指定的y位置了。

关于Android EditText的更多信息,可以参考腾讯云的文档:EditText

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VIM 常用快捷键

w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...后移一个单词,光标停在上一个单词开头; B: 移动到上一个单词开头,忽略一些标点; (: 前移1句。...y: 复制在可视模式下选中的文本。 yy or Y: 复制整行文本。 y[n]w: 复制一(n)个词。 y[n]l: 复制光标右边1(n)个字符。 y[n]h: 复制光标左边1(n)个字符。...y$: 从光标当前位置复制到行尾。 y0: 从光标当前位置复制到行首。 :m,ny 复制m行到n行的内容。 y1G或ygg: 复制光标以上的所有行。 yG: 复制光标以下的所有行。...d: 删除(剪切)在可视模式下选中的文本。 d$ or D: 删除(剪切)当前位置到行尾的内容。 d[n]w: 删除(剪切)1(n)个单词 d[n]l: 删除(剪切)光标右边1(n)个字符。

27.3K23

Vim编辑器常用快捷键

h或者退格: 左移一个字符;l或者空格: 右移一个字符;j: 下移一行;k: 上移一行;gj: 移动到一段内的下一行;gk: 移动到一段内的上一行;+或者Enter: 把光标移至下一行第一个非空白字符。...w: 前移一个单词,光标停在下一个单词开头;W: 移动下一个单词开头,但忽略一些标点;e: 前移一个单词,光标停在下一个单词末尾;E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点;b: 后移一个单词...复制与粘贴 p: 在光标之后粘贴。P: 在光标之前粘贴。d: 删除(剪切)在可视模式下选中的文本。d或者D: 删除(剪切)当前位置到行尾的内容。...d0: 删除(剪切)当前位置到行首的内容d1G或者dgg: 剪切光标以上的所有行。dG: 剪切光标以下的所有行。y: 复制在可视模式下选中的文本。yy或者Y: 复制整行文本。...y: 从光标当前位置复制到行尾。y0: 从光标当前位置复制到行首。y1G或ygg: 复制光标以上的所有行。yG: 复制光标以下的所有行。 回退 [7] u:取消7个改动。

3.4K20
  • Vim命令使用说明

    w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...ctrl+y: 向上滚动一行。 n%: 到文件n%的位置。 zz: 将当前行移动到屏幕中央。 zt: 将当前行移动到屏幕顶端。 zb: 将当前行移动到屏幕底端 标记 使用标记可以快速移动。...daw和das:剪切一个词和剪切一个句子,即使光标不在词首和句首也没关系。 d/f:这是一个比较高级的组合命令,它将删除当前位置 到下一个f之间的内容。 复制 y: 复制在可视模式下选中的文本。...yy or Y: 复制整行文本。 y[n]w: 复制一(n)个词。 y[n]l: 复制光标右边1(n)个字符。 y[n]h: 复制光标左边1(n)个字符。 y$: 从光标当前位置复制到行尾。...y0: 从光标当前位置复制到行首。 :m,ny 复制m行到n行的内容。 y1G或ygg: 复制光标以上的所有行。 yG: 复制光标以下的所有行。

    2.6K11

    IdeaVim 基本操作

    w 前移一个单词,光标停在下一个单词开头 e 前移一个单词,光标停在下一个单词末尾 b 后移一个单词,光标停在上一个单词开头 ge 后移一个单词,光标停在上一个单词末尾 { 前移1段 } 后移1段...ctrl+b 上翻一屏 ctrl+d 下翻半屏 ctrl+u 上翻半屏 ctrl+e 向下滚动一行 ctrl+y 向上滚动一行 n% 到文件n%的位置 zz 将当前行移动到屏幕中央 zt 将当前行移动到屏幕顶端...,nyw 剪切和复制 快捷键 含义 [n]x 剪切光标右边n个字符,相当于d[n]l [n]X 剪切光标左边n个字符,相当于d[n]h y 复制在可视模式下选中的文本 yy or Y 复制整行文本...y[n]w 复制一(n)个词 y[n]l 复制光标右边1(n)个字符 y[n]h 复制光标左边1(n)个字符 y$ 从光标当前位置复制到行尾 y0 从光标当前位置复制到行首 :m,ny 复制m行到n行的内容...(剪切)当前位置到行尾的内容 d[n]w 删除(剪切)1(n)个单词 d[n]l 删除(剪切)光标右边1(n)个字符 d[n]h 删除(剪切)光标左边1(n)个字符 d0 删除(剪切)当前位置到行首的内容

    2.2K30

    常用命令行快捷键

    光标前移一个字 Alt-b 光标后移一个字 Ctrl-l 清空屏幕,移动光标到左上角。...clear 命令完成同样的工作 修改文本 快捷键 作用 Ctrl-d 删除光标位置的字符 Ctrl-t 光标位置的字符和光标前面的字符互换位置 Alt-t 光标位置的字和其前面的字互换位置 Alt-l...把从光标位置到字尾的字符转换成小写字母 Alt-u 把从光标位置到字尾的字符转换成大写字母 剪切和粘贴文本 快捷键 作用 Ctrl-k 剪切从光标位置到行尾的文本 Ctrl-u 剪切从光标位置到行首的文本...Alt-d 剪切从光标位置到词尾的文本 Alt-Backspace(Mac 使用 Alt-delete) 剪切从光标位置到词头的文本。...如果光标在一个单词的开头,剪切前一个单词 Ctrl-y 把剪切环中的文本粘贴到光标位置 自动补全 快捷键 作用 Tab 自动补全 Alt-? 显示可能的自动补全列表。

    96150

    【总结】vim命令使用总结,该来的还是躲不掉啊晕

    命令大全,最详细(建议收藏) 光标的移动 h - 左移光标 j - 下移光标 k - 上移光标 l - 右移光标 gj - 下移光标(折行文本) gk - 上移光标(折行文本) H - 移动到当前页面顶部...- 移动到上个单词开头 B - 移动到上个单词开头(单词含标点) ge - 移动到上个单词结尾 gE - 移动到上个单词结尾(单词含标点) % - 跳转到配对的符号(默认支持的配对符号组:: '()',...- 进入可视化模式, 移动光标高亮选择, 然后可以对选择的文本执行命令(如 y - 复制) V - 进入可视化模式(行粒度选择) o - 切换光标到选择区开头/结尾 Ctrl + v - 进入可视化模式...剪切, 复制, 粘贴 yy - 复制当前行 2yy - 复制 2 行 yw - 复制当前单词 yiw - 复制光标处的单词 yaw - 复制光标处的单词及其前后的空格 y$ or Y - 复制,...从光标位置到行末 p - 在光标后粘贴 P - 在光标前粘贴 gp - 在光标后粘贴并把光标定位于粘贴的文本之后 gP - 在光标前粘贴并把光标定位于粘贴的文本之后 dd - 剪切当前行 2dd - 剪切

    55821

    人生苦短,何不用vim装13

    单词定位:使用*/#定位当前光标下的单词,并指向下/上一个。 使用gd定位到当前变量的声明位置。 使用%快速定位到配对字符,如括号的另一半。 最后可以使用回到光标上一次的位置。...编辑文本 d指delete,是所有修改操作的基础。 删除一个字符。删除一个字符可以使用dl代表删除右边的一个字符,dh为删除左边的一个字符。x相当于dl,删除当前光标下的字符。 删除特定单词。...daw表示delete a word,删除当前光标下的单词,使用dw/db从当前位置删除到后一个/前一个单词。 删除括号里的文本。...将上述操作中的d更换为c后,表示,删除之后进入Insert模式。 y指yank,复制,将上述操作中的d更换为y后,表示复制内容 使用r加特定字符,代替原来光标位置的字符。如a使用rb后,文本变为b。...移动 移动与在编辑器中的移动有很大的相似,有部分简化,部分删除。 在编辑器中上移半页,在网页中,只需要u就可以上移半页,d为下移半页。 移动特定行之类的在网页中,不存在此类操作。

    3.7K11

    Android EditText详解

    [68485207.png] 还不赖是吧,当然,不会在这里贴布局,这里只介绍默认提示文本的两个控制属性: 默认提示文本的两个属性如下: android:hint="默认提示文本" android:textColorHint...="#95A1AA" 前者设置提示的文本内容,后者设置提示文本的颜色!...2.获得“焦点”后全选组件内所有文本内容 当我们想在点击输入框获得焦点后,不是将光标移动到文本的开始或者结尾;而是 获取到输入框中所有的文本内容的话!...的EditText获得焦点后 选中的是所有文本!...:每一个单词首字母大小,用空格区分单词 characters:每一个英文字母都大写 6.控制EditText四周的间距与内部文字与边框间的距离 我们使用margin相关属性增加组件相对其他控件的距离,比如

    1.8K20

    【盟友分享】vim学习之路-vim基本操作

    ) 操作回退和恢复: u 回退到上一次操作 U 本行改动恢复 ctrl+r 与u操作相反的操作 移动操作: j 下移一行 k 上移一行 h 左移一列 l 右移一列 0 移动到开头 $ 移动到结尾...w 移动到下一个单词开头 e 移动到下一个单词结尾 fx 移动到本行之后第一个出现x字母的位置 tx 移动到本行之后第一个出现x字母的前一个位置 gg 跳到文件首 G 跳到文件尾 nG 移动到第n行,...相当于显示文本的窗口向上滚半屏。光标所处的行数随滚屏而改变。 CTRL-D使文本向上滚动半屏。相当于显示文本的窗口向下滚半屏。光标所处的行数随滚屏而改变。 CTRL-E使文本向上滚动一行。...光标所处的行数不变。 CTRL-Y使文本向下滚动一行。光标所处的行数不变。 CTRL-F 向前滚动一整屏。滚动后光标处于第一行。 CTRL-B向后滚动一整屏。滚动后光标处于最后一行。...文本操作: d 剪切,双击剪切一行 y 复制,双击复制一行 p 粘贴 x 删除当前光标下字符 r 替换当前光标字符,后面接替换的字符 :s/old/new/g 全局替换old为new 模式切换 插入模式

    2.1K60

    真·富文本编辑器的演进之路-Span的整体性控制

    控制选中 在讲解如何在普通文本中对Span做整体性控制前,我们先来考虑下选择的问题——如何让「整体性Span」的内部无法被选中。 首先,我们要知道,Edittext的光标也是一种Span。...也就是说,我们可以通过监听光标的移动事件,通过Selection实现当光标移动到Span内部时,让它重新移动到Span最近的边缘位置,从而让Span内部永远无法插入光标,这就是我们的主要思路。...那么问题来了,我要怎么监听Edittext的光标呢?...其实,Android的Span不仅功能非常强大,而且也提供了非常完善的管理API,在TextView和Edittext中,我们要监听Text的变化过程,可以使用TextWatcher,它可以在文本发生改变时进行回调...,就将Selection光标移动到最近的Span标记处。

    2K30

    100 条 Linux vim 命令备忘单,收藏起来随时备用!

    dw删除一个词 D删除从光标所在位置到行尾的所有内容 d0删除从光标所在位置到行首的所有内容 dgg删除从光标所在位置到文件开头的所有内容 dG删除从光标所在位置到文件末尾的所有内容 x删除单个字符...w移动到下一个单词的开头 e移动到单词的末尾 0跳到行首 $跳到行尾 ^跳转到该行的第一个(非空白)字符 Ctrl + b向后移动一个全屏 Ctrl + f向前移动一个全屏 Ctrl + d向前移动...1/2 个屏幕 Ctrl + u向后移动 1/2 个屏幕 Ctrl + e将屏幕向下移动一行(不移动光标) Ctrl + y将屏幕上移一行(不移动光标) Ctrl + o通过跳跃历史向后移动 Ctrl...向后搜索 * 向前搜索光标下的单词 # 向后搜索光标下的单词 r 替换光标位置的单个字符 R 替换从光标位置开始的字符 cc 替换整行 :%s/search/replace/g 用replace替换每次出现的搜索...V允许选择整行的可视模式 CTRL+v允许选择文本块的视觉块 在可视化模式下执行: >向右缩进 <向左缩进 y复制 d剪切 ~大小写切换 u将选中文本转换为小写 U将选中文本转换为大写 命令模式备忘单

    1.5K20

    Linux学习笔记之vim操作指令大全

    w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...后移一个单词,光标停在上一个单词开头; B: 移动到上一个单词开头,忽略一些标点; ge: 后移一个单词,光标停在上一个单词末尾; gE: 同 ge ,不过‘单词’包含单词相邻的标点。...ctrl+y: 向上滚动一行。 n%: 到文件n%的位置。 zz: 将当前行移动到屏幕中央。 zt: 将当前行移动到屏幕顶端。 zb: 将当前行移动到屏幕底端。 4.3 标记 使用标记可以快速移动。...[n]X: 剪切光标左边n个字符,相当于d[n]h。 y: 复制在可视模式下选中的文本。 yy or Y: 复制整行文本。 y[n]w: 复制一(n)个词。...C-u: 从当前位置移动到命令行开头。 C-b: 移动到命令行开头。 C-e: 移动到命令行末尾。 Shift-Left: 左移一个单词。 Shift-Right: 右移一个单词。

    2.8K21

    vim命令快捷键

    Vim是一款文本编辑器,经常被程序员使用,也是Linux系统中常用的编辑器之一。它以快速、高效、灵活而著称,由于其强大的快捷键功能,可以使用户在编辑文本时更快更高效。...本文将介绍Vim中一些常用的快捷键,以帮助您更快地编辑文本。...光标移动 h - 光标左移 j - 光标下移 k - 光标上移 l - 光标右移 0 - 移动到行首 $ - 移动到行末 w - 向前移动一个单词 b - 向后移动一个单词 gg - 移动到文件的开头...G - 移动到文件的末尾 编辑 i - 进入插入模式,在光标处插入文本 a - 在光标后插入文本 o - 在光标下方新开一行 O - 在光标上方新开一行 x - 删除光标所在位置的字符 dd - 删除整行...Ctrl + o - 回到上一个位置 Ctrl + r - 重做上一个操作 Ctrl + x + Ctrl + n - 自动补全 :help - 查看帮助信息

    1.2K40

    Android端IM应用中的@人功能实现:仿微博、QQ、微信,零入侵、高可扩展

    这个需求又产生了两个问题: 1)当普通文本发生变化后,如何监控一个Span起始位置发生变化? 2)如何禁止Span内部插入光标? 对于第一个问题,我在网上看到过一种思路。...维护一个Span起始位置管理器SpanRangeManager,然后利用TextWather监听文本变化,文本的任何变化都会导致SpanRangeManager重新测算Span的位置。...4、微博的做法 4.1 侦听并处理光标活动、选中状态以及Span位置变化 对于光标活动和选中状态侦听,如果采用继承EditText的方式实现标签文本功能,重写onSelectionChanged(int...; 2)光标是一种特殊的选中状态,start与end在同一位置。...也就是说,我们可以通过SpanWatcher侦听光标活动,通过Selection实现当光标移动到Span内部时,让它重新移动到Span最近的边缘位置,Span内部永远无法插入光标。

    2.3K30

    Vim 基本配置和经常使用的命令

    vim 也是最为强大的通用文本编辑器之中的一个,对于须要编辑不同文本的情景,vim 也是相当有优势的。所以,熟练掌握一下 vim 的基本使用还是非常有必要的。...移动一个字符 zz # 光标做在行移动到屏幕中间 w # 向前移动一个单词。...光标停在单词首部 b # 向后移动一个单词, 光标停在单词首部 e # 同 w, 光标停在单词尾部 ge # 同 b, 光标停在单词尾部 0 # 本行第一个字符...:n # 跳转到第 n 行 fx # 移动到光标后第一个为 x 的字符 find Fx # 同 f,反向移 Ctrl+d # 向下滚动半屏 Ctrl...反向 * # 向下查找和光标所在单词一样的词 # # 向上查找和光标所在单词一样的词 :nohlsearch # 关闭当前高亮显示的结果

    1.2K20

    vim技巧

    字符 h左移一位,l右移一位 单词 w/W 移动到下一单词的开头 b/B 移动到上一单词的开头 e/E 移动到光标所在单词的末尾 f 快速移动到下一个字符的位置 行 j 下移一行 k 上移一行 0...G 移动到文件末尾 gg 移动到文件开头 :0移动到文件第一行 :$ 移动到文件最后一行 文本编辑 与光标移动一样,Vi/Vim 中关于编辑操作的命令也比较多,但操作单位要比移动光标少得多。...单词 cw/cW 删除当前单词从光标开始的部分并进入插入模式 cb/cB 删除当前单词从光标所在位置至单词开始的部分并进入插入模式 dw/dW 删除当前单词从光标开始的部分但不进入插入模式 db/dB...删除当前单词从光标所在位置至单词开始的部分但不进入插入模式 行 dd 删除当前行 d0 删除从当前光标开始到行末的内容 d$ 删除从当前光标开始到行末的内容 I 在当前行的行首进入插入模式 A 在当前行的行尾进入插入模式...d{ 删除当前段落从光标位置开始到段首的内容 文本编辑的高效命令 复制与粘贴 yw 复制当前单词从光标开始的部分 yy 复制光标所在行的所有字符 p 将最后一个删除或复制文本放在当前字符 P 将最后一个删除或复制文本放在当前字符之前

    2.5K30

    vim配置即.vimrc文件的配置及vim操作技巧

    w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...[n]X: 剪切光标左边n个字符,相当于d[n]h。 y: 复制在可视模式下选中的文本。 yy or Y: 复制整行文本。 y[n]w: 复制一(n)个词。...y[n]l: 复制光标右边1(n)个字符。 y[n]h: 复制光标左边1(n)个字符。 y$: 从光标当前位置复制到行尾。 y0: 从光标当前位置复制到行首。...请将光标移动到本节中下面标记有 ---> 的第一行。   2. 为了使得第一行内容雷同于第二行,请将光标移至文本第一个字符准备插入的位置。   3. 然后按下 i 键,接着输入必要的文本字符。  ...请将光标移动到本节中下面标记有 ---> 的第一行。   2. 接着把光标放在单词 lubw 的字母 u 的位置那里。   3.

    4.1K11
    领券