文本视图中的触摸坐标

2023-11-23

我在文本视图上使用触摸监听器。我可以通过运动事件获取触摸坐标。

我可以获取我单击的字符索引或附近的字符坐标吗?

Eg., Hello Android

这是我的文字。现在我可以获得 x y 坐标,但是我可以获得字符索引吗?A,当我触摸它时。


您必须重写 onTouch()

尝试使用以下方法

public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
         Layout layout = ((TextView) v).getLayout();
            int x = (int)event.getX();
            int y = (int)event.getY();
            if (layout!=null){
                int line = layout.getLineForVertical(y);
                int characterOffset = layout.getOffsetForHorizontal(line, x);
                Log.i("index", ""+characterOffset);
                }
            return true;


    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文本视图中的触摸坐标 的相关文章

随机推荐

  • 通过标签名称获取多个元素并在循环中检查元素标签以回显它

    这是有效的代码示例 doc gt loadHTML article header imgs doc gt getElementsByTagName img foreach imgs as img imgs取自 doc带有标签名称的元素img
  • 为什么某些 .onion 站点会收到“SOCKS 连接失败。规则集不允许连接”的信息?

    我正在尝试使用 Node 和ocks5 https 客户端 由于某种原因 某些 Tor 隐藏服务 onion 站点返回时出现连接错误 例如 连接到 DuckDuckGo 3g2upl4pq6kufc4m onion 工作并返回 HTML 但
  • 将 float[] 转换为 byte[] 再次转换为 float[]

    所以我在这里想做的是得到一个float 将其转换为byte 将其作为数据报包通过网络发送 然后将其转换回byte 在接收终端 现在我知道我可以转换float to byte 通过使用getBytes 方法 但我不知道如何反转转换 我想你想利
  • 将模板化基类转换运算符引入派生范围

    我有一个基类 它定义了约束模板化转换运算符 struct base template
  • 为什么 .NET 字符串是不可变的? [复制]

    这个问题在这里已经有答案了 众所周知 String是不可变的 String不可变的原因是什么以及引入字符串生成器类是可变的 不可变类型的实例本质上是线程安全的 因为没有线程可以修改它 所以消除了线程以干扰另一个线程的方式修改它的风险 引用本
  • Maven EJB 打包及依赖库

    我面临一个问题 如何使用 JBoss7 应用程序服务器的简单 WAR 和 EJB3 模块正确打包我的企业 EAR 应用程序 问题是 EJB 模块正在使用 XML RPC 库 来自 Apache 但我仍然得到NoDefClassFound 此
  • 浏览器中的 3D 可视化

    我正在寻找网络浏览器中 3D 可视化的解决方案 现在我只需要对这个主题进行研究 即我需要知道存在多少种解决方案 其中哪些是好的 为什么 Thanks 网络上 3D 的简要概述 VRML 一种用于 3D 模型的 HTML 风格标记语言 被认为
  • Delphi XE2 TurboPower 组件状态

    TurboPower 组件是最流行的商业组件库之一 并且在开源后仍然被许多 Delphi 开发人员使用 我不想单独询问 而是想问一个关于每个组件的 XE2 兼容性状态的问题 主要有 TurboPower Abbrvia AsyncPro 和
  • 通过对组内的列进行排序来重新排列数据框

    执行以下任务的好方法是什么 我有一个数据框 例如 v2 lt c 4 5 2 5 3 5 5 5 7 5 6 5 2 5 1 5 3 5 v1 lt c 2 2 3 2 1 2 4 2 2 2 3 2 2 2 1 2 5 2 lvl lt
  • 如何实现保存/加载功能?

    我正在尝试为 Windows 窗体应用程序实现加载 保存功能 我有以下组件 树视图 几个列表视图 几个文本框 几个对象 包含一个大字典列表 我想实现一种将所有这些保存到文件中的方法 并稍后恢复 加载它 最好的方法是什么 我认为 XML 序列
  • UIViewController 子类所需的初始值设定项

    我一直在尝试遵循有关创建容器视图控制器的教程 它是在 Objective C 中 我想将其转换为 Swift 我在这里发现了一些相同的问题 但我没有从中得到太多 这是代码 import UIKit class ContainerViewCo
  • PyQt 进度条直到 100% 才会更新或显示

    EDIT PyQt4 进度条上有许多类似的帖子没有更新 他们都关注线程问题以及程序实际更新窗口的位置 虽然很有帮助 但我的代码结构过于结构化 以至于回复不切实际 这里给出的公认答案很简单 切中要点并且有效 我在 Win 7 x64 机器上使
  • if else 概念在功能文件(Gherkin 语言)中可用吗?

    无论如何 我们可以在功能文件中使用 if else 概念吗 例如 Scenario User should be able to check login page Given I am on login page When I click
  • Chrome 中的 Azure 无限重定向循环

    我有一个 MVC5 Azure 网站 昨晚运行良好 现在 当尝试通过 chrome 登录时 它似乎陷入了无限重定向循环 它在 Edge 和 FireFox 上运行良好 它使用 Azure AD 进行身份验证 重定向从主站点到login mi
  • 在 WebAPI 控制器中序列化 EF Code First 5.0 数据时出错

    我最初问过这个问题 如何解决 指定的包含路径无效 已回答 我的 Include 现在正在工作 但是 当序列化器尝试工作时 它很神奇 我收到以下错误 You must write an attribute type object after
  • Android中使用MediaPlayer播放mp3文件列表

    我在 Android 中使用 MediaPlayer 重现多个 mp3 文件时遇到问题 我能够复制一个文件 但我没有找到任何有用的东西来逐个复制不同的文件 我现在用来重现一个文件的代码是 public MediaPlayer mediaPl
  • 使用 jquery 禁用输入 type="image" 的正确方法是什么?

    使用 jQuery 我尝试禁用这样的输入字段
  • 从两个字符串中获取编辑

    我将深入探讨我的问题 如果您不想阅读所有内容 可以跳至 TL DR 我正在尝试做什么 我需要存储一个 文件 文本文件 可以由用户编辑 如果我有原始文件 这可能是巨大的 Lorem ipsum dolor 坐 amet 用户要进行更改 Foo
  • 收集多组列

    我从一项在线调查中获得了数据 其中受访者回答了 1 3 次问题 调查软件 Qualtrics 将这些数据记录在多个列中 即调查中的 Q3 2 将包含列Q3 2 1 Q3 2 2 and Q3 2 3 df lt data frame id
  • 文本视图中的触摸坐标

    我在文本视图上使用触摸监听器 我可以通过运动事件获取触摸坐标 我可以获取我单击的字符索引或附近的字符坐标吗 Eg Hello Android 这是我的文字 现在我可以获得 x y 坐标 但是我可以获得字符索引吗 A 当我触摸它时 您必须重写