首页
学习
活动
专区
工具
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)个字符。

23.2K22

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.2K20

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.5K10

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.1K30

常用命令行快捷键

光标一个字 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-? 显示可能自动补全列表。

93450

【总结】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 - 剪切

49621

人生苦短,何不用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.7K20

【盟友分享】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 模式切换 插入模式

2K60

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

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

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

1.9K30

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.7K20

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

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

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

1.1K20

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 将最后一个删除或复制文本放在当前字符之前

1K30

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.

3.6K10

Vim实用技巧

$移动到行尾 2.a命令在当前光标之后添加内容 3.A命令在当前行结尾添加内容,相当于$a C.以退为近 1.f{char}让vim查找下一处指定字符出现位置 2....2.在插入模式中使用up/down/left/right会重置修改状态 B.构造可重复修改 1.db命令删除从光标起始位置单词开头内容,但会原封不动地留下最后一个字符 2.x删除当前字符 3.b把光标移到单词开头...B.区分实际行与屏幕行 1.gj、gk向下、向上移动一个屏幕行 2.g0、g^、g$,移动到屏幕行行首、第一个非空白字符、行尾 C.基于单词移动 1.w正向移动到下一单词开头,b反向移动到当前单词/...上一单词开头,e下向移动到当前 单词/下一单词结尾,ge反向移动到上一单词结尾 D.对字符进行查找 1.f{char}命令会在光标位置与当前行行尾之间查找指定字符,如果找到了就会把光标移到此字符上.../{char}查找命令 2.n下移,N上 F.用精确文本对象选择选区 1.Vim文本对象由两个字符组成,第一个字符永远是i或是a。

2.5K30

Linux笔记:使用Vim编辑器

k 上一行 l 右移一个字符 在大文本文件中一行一行移动会特别麻烦。...常用号命令有: 命令 描述(普通模式下命令) x 删除当前光标所在位置字符 dd 删除当前光标所在行 dw 删除当前光标所在位置单词 d$ 删除当前光标所在位置至行尾内容 J 删除当前光标所在行行尾换行符...上面已经有了删除数据操作,Vim删除数据时,实际上它会将数据保存在单独一个寄存器中。可以同p命令来取回数据。 简而言之,用dd删除一行文本,然后把光标动到某个要放置该行文本位置,之后用p命令。...p命令会将文本插入到当前光标所在行之后。p命令可以和任何删除文本命令一起搭配使用。 Vim中复制命令是y(代表yank)。y命令和d命令有相同第二字符(如yw表示复制单词y$表示复制到行尾)。...覆盖后按y键来激活复制命令。现在寄存器中已经有了要复制文本,使用p命令到合适位置粘贴即可。

1.5K40
领券