如何从android中的事件坐标获取视图?

2023-12-26

我想拦截我的父视图上的触摸事件onInterceptTouchEvent (MotionEvent ev).

从那里我想知道单击了哪个视图以执行其他操作,有什么方法可以知道从收到的运动事件中单击了哪个视图?


对于任何想知道我做了什么的人来说……我不能。我做了一个解决方法来知道我的特定视图组件是否被单击,所以我只能以此结束:

   if(isPointInsideView(ev.getRawX(), ev.getRawY(), myViewComponent)){
    doSomething()
   }

和方法:

/**
 * Determines if given points are inside view
 * @param x - x coordinate of point
 * @param y - y coordinate of point
 * @param view - view object to compare
 * @return true if the points are within view bounds, false otherwise
 */
public static boolean isPointInsideView(float x, float y, View view){
    int location[] = new int[2];
    view.getLocationOnScreen(location);
    int viewX = location[0];
    int viewY = location[1];

    //point is inside view bounds
    if(( x > viewX && x < (viewX + view.getWidth())) &&
            ( y > viewY && y < (viewY + view.getHeight()))){
        return true;
    } else {
        return false;
    }
}

然而,这只适用于布局中可以作为参数传递的已知视图,我仍然无法仅通过知道坐标来获取单击的视图。您可以搜索布局中的所有视图.

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

如何从android中的事件坐标获取视图? 的相关文章

  • LoaderManager 不接受“这个”

    好吧 我投降 我想不明白 我正在学习 Udacity 的 Android 基础知识课程 需要了解如何使用加载器加载数据 但是 当我使用以下行时 this 以红色突出显示并显示以下错误 Wrong 3rd argument type Foun
  • 地理围栏转换后,我如何在主要活动上执行某些操作?

    当有人进入我的地理围栏之一时 我想让布局在我的地图上可见并开始播放一些音频 我一直在关注一些教程 我知道如何在它们进入时进行推送通知 但这一切都发生在另一个 IntentService 类中 也许这就是 onResult 的用途 我不确定如
  • 隐藏加载失败的图片

    我有一个 Android 应用程序 它生成一些在本地 Webkit 视图中呈现的 HTML HTML 生成的细节实际上并不那么重要 除了 大部分来自一个地方 我无法改变它 HTML 周围的模板 包括页眉 页脚 HEAD 等 CSS 和 Ja
  • Android 7.0+ 屏幕关闭时前台服务无法接收位置更新

    我正在尝试创建一个 Android 应用程序 在设备屏幕关闭时连续实时记录设备位置数据 我的代码可以在 Android 6 0 及更早版本中正常运行 但 Android 7 0 似乎会破坏我的应用程序 我已经实现了一个 Android 前台
  • sqlite android 中的波斯语/阿拉伯语搜索给出了错误的结果

    我的 sqlite 数据库有问题 它似乎不支持完整的波斯 阿拉伯字符 当我根据波斯字符搜索某些字段时 大多数时候 Sqlite 无法识别这些字符 我通过从 HTML 文件复制数据将数据插入数据库 所以当我输入字符串并搜索时 没有结果显示 但
  • 如何从c调用Java函数

    我被这个问题困扰了 我需要从 c c 调用 Java 函数 在示例和教程中 我只看到一个java应用程序调用一个c方法 并在同一个方法中调用另一个java方法 但我想做的是从代码的任何部分调用java方法 这就是我所拥有的 static J
  • android listviews:页眉和页脚视图

    在我的 ListActivity 中 我需要页眉和页脚视图 位于列表的顶部和底部 分别用作列表上的上一页和下一页按钮 因为我只想一次仅显示 20 个项目 我通过执行以下操作来设置头视图和脚视图 getListView addHeaderVi
  • 即使在 goOffline() 和 keepSynced(false) 之后,Firebase 数据库仍然有少量下载

    即使在 goOffline 和 keepSynced false 之后 我的 Firebase 数据库仍然有少量下载 我只想获取一次数据 然后我将其保存到 SharedPreferences 中 下次用户运行应用程序时 它将检查 Share
  • 如何使用适用于 Android 的 google 驱动器 api 的 url 从 google 驱动器下载文本文件 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已将文本文件上传到我的谷歌云端硬盘帐户 并且该文件是公开的 我通过共享链接获得了该文件的链接 我想要做的是使用我获得的链接使用驱动器
  • 在手机上单步执行 Android 代码 - 大行号差异

    我正在尝试调试与 Samsung Captivate Galaxy S 上的 ListView 相关的一些代码 我在代码中的某个位置放置了断点 当它停止时 我会在堆栈上返回几帧到 ListView 源 现在 我可以预期会出现一些不匹配的情况
  • Android - 超链接不可点击

    我的应用程序中有一些链接 一个用于网站 一个用于电话号码 一个用于电子邮件 电子邮件和电话链接均有效且可点击 但由于某种原因 网站超链接仍然无法点击 有什么想法吗 代码如下
  • 使用 Eclipse 测试 PhoneGap 应用程序时不断收到“发生网络错误”

    我刚刚收到分包商提供的 PhoneGap 解决方案 以便在发布前在我的手机上进行测试 我将项目导入到 Eclipse 中 一切看起来都很好 我可以通过打开 index html 文件在我的计算机上本地测试该应用程序 file E AppDe
  • 保存到会话状态的 DataTable 丢失事件处理程序

    我有一个来自强类型数据集的数据表 该数据集在 TableNewRow 事件上有一个事件处理程序 用于初始化一些日期字段 当我将此表保存到会话状态时 事件处理程序会正常触发 直到表被序列化 在后续请求中 当我从会话状态检索表时 事件处理程序不
  • C# Response.Write pdf 不适用于 Android 浏览器

    我目前在 Android 环境中使用 pdf 导出时遇到了巨大的问题 我正在使用报告查看器控件将报告呈现为字节数组 接下来我使用response binarywrite方法将字节流输出到浏览器 这适用于所有浏览器以及 iPhone 和 iP
  • 用于代码生成的 ANTLR 工具版本 4.5.3 与当前运行时版本 4.7.1 不匹配

    我在 DataBindingMapperImpl java 中遇到一个特定数据绑定的错误 这会在构建项目时导致以下错误 用于代码生成的 ANTLR 工具版本 4 5 3 与当前运行时版本 4 7 1 不匹配 用于解析器编译的 ANTLR 运
  • 在 SQLite 中加密数据

    如何加密我的数据 就我研究的解决方案而言 有两种方法 使用android提供的算法加密数据 我使用android提供的 Cipher 来加密我的数据 但我在检索大量记录的数据时遇到问题 导致应用程序的性能显着降低 我对整个数据库进行了编码
  • Eclipse Android 插件中出现“调试证书已过期”错误

    我正在使用 Eclipse Android 插件来构建一个项目 但是我 在控制台窗口中出现此错误 2010 02 03 10 31 14 androidVNC Error generating final archive Debug cer
  • 从 Android 中的 ListView 中删除项目时遇到 IndexOutOfBoundException?

    我有一个simple list item multiple choicelistview 在我的布局中 我试图从中删除所有选定的项目 我知道如何删除它 但删除项目时遇到两个主要问题 我的程序不会删除超过 2 个项目 例如如果我选择了 4 个
  • 如何将 pdf 文档显示到 Webview 中?

    我想在 webview 上显示 pdf 内容 这是我的代码 WebView webview new WebView this setContentView webview webview getSettings setJavaScriptE
  • Toast.LENGTH_LONG 和 Toast.LENGTH_SHORT 的值是多少?

    我正在我的应用程序中打印 Toast 消息以显示通知 但我想知道 Toast LENGTH LONG 和 Toast LENGTH SHORT 我还可以使用哪些其他值 谁能告诉我这两个变量的值是多少 还有另一个问题可以回答您正在寻找的内容

随机推荐

  • Apache mod_rewrite 未将表达式映射到参数

    我有一个网站使用apache mod rewrite并且在过去 6 个月里一直工作 没有出现任何错误 我有以下重写规则 RewriteRule products a z products php category 1 NC L 这是我页面中
  • WooCommerce:将自定义 Metabox 添加到管理订单页面

    我目前已成功向我的 WooCommerce 产品页面添加一个字段 该字段显示值 在购物车 前端 中 在结账页面 前端 在订单页面 前端 并在管理个人订单页面 后端 中 问题 它没有在管理订单 自定义字段 Metabox 中显示为自定义字段及
  • 如何在无限行模型中设置初始起始页?

    我使用的是带有无限行模型和分页功能的 Ag Grid 版本 20 0 0 我希望能够设置第一次加载的初始页面 但我没有看到任何允许我自定义它的属性 他们只提供方法paginationGoToPage更改页面 但此方法要求首先加载网格 这迫使
  • 如何在sql server management studio 2012中创建复合外键

    我可以通过选择两列 OrderId CompanyId 并右键单击并设置为主键 在 sql server management studio 2012 中成功创建复合主键 但我不知道如何使用 sql server management st
  • Firebase 测试实验室对 Appium 的支持

    有谁知道 Firebase 测试实验室是否支持 Appium 测试框架 至少在路线图中吗 由于 Firebase 由 Google 提供支持 因此您很难指望它会优先支持开源社区驱动的框架 而 Appium 正是如此 目前 Firebase
  • 共享指针如何工作?

    共享指针如何知道有多少指针指向该对象 在本例中为shared ptr 基本上 shared ptr有两个指针 一个指向共享对象的指针和一个指向包含两个引用计数的结构体的指针 一个用于 强引用 即具有所有权的引用 另一个用于 弱引用 即不具有
  • Google Play Install Referrer API 与 INSTALL_REFERRER 广播

    最近Google发布了Google Play Install Referrer API 公告 https android developers googleblog com 2017 11 google play referrer api
  • 类库项目文件未编译为 .dll 或调试

    在我的解决方案中 我有一个编译成 dll 的类库项目 我有一个网络项目 我有多个具有不同网络项目但具有相同类库的解决方案 类项目中的文件之一 utilities cs 突然不会编译到 dll 中 我对此文件进行了更改 但更改不会显示在网站上
  • 在 Swift 3 中获取 GCD 标签

    我有一些代码可以获取当前 GCD 队列的标签以用于日志记录 在 Swift 2 中如下所示 if let queueName String UTF8String dispatch queue get label DISPATCH CURRE
  • 调用对象数组时出现空引用异常[重复]

    这个问题在这里已经有答案了 我早些时候试图获得一些帮助 但我认为我没有提供足够的信息 尽管我很感谢所有的建议 目标只是将对象室的新实例添加到数组中并打印到列表框 当用户尝试输入已经存在的房间名称时 它应该简单地显示在数组中已经存在的房间的规
  • JQuery Datepicker - 仅选择星期一和星期四

    我有以下代码 仅允许用户从 jquery datepicker 选择星期一 我想对此进行调整 以便能够选择星期一和星期四 有任何想法吗 beforeShowDay function date return date getDay 1 您可以
  • 如何在引导列之间添加边距而不换行[重复]

    这个问题在这里已经有答案了 我的布局目前看起来像这样 在中心列中 我想在每个之间添加一个小边距Server分区但是 如果我向 CSS 添加边距 它最终会换行并看起来像这样 div class row info panel div class
  • 如何在不运行两个单独的进程调用的情况下获取 DBI 中的行计数?

    我正在 Perl 中运行 DBI 但无法弄清楚当我运行准备好的语句时如何确定返回的行计数是否为 0 我意识到我可以在 while 循环中设置一个计数器来获取行 但我希望有一种不那么丑陋的方法来做到这一点 基于快速浏览here http ww
  • 网站阻止 Selenium:有办法绕过吗?

    该网页手动打开正常 但使用 Selenium 时直接出现 维护 错误消息 from selenium import webdriver driver webdriver Chrome executable path chromedriver
  • Godot 监听来自同一场景的多个实例的信号

    我有以下场景 玩家 敌人 攻击 当攻击与敌人发生碰撞时 敌人会发出 onHit 信号 播放器监听该信号并反弹 这一切都运行良好 但现在如果我复制敌人 因此有多个敌人场景 我如何收听所有敌人的信号 有没有办法获取场景的所有实例并连接到它们的所
  • 是否可以使用宏来修改结构类型实例调用的生成代码?

    例如如下代码 object Test extends App trait Class val f1 Int val c new Class val f1 Int 1 val f2 String Class println c f1 prin
  • 使用嵌入动态框架的第三方框架

    据我了解 ios动态框架和静态的巨大变化是静态在链接时 启动之前 静态链接到代码 而动态在启动 运行时链接 现在我有一个测试项目 我的项目有一个与之链接的动态框架 A framework import A framework A frame
  • 如何递归地检查旧的 git 提交(包括所有子模块)?

    我有一个包含多个子模块的 git 存储库 这些子模块之一拥有自己的多个子模块 我想要做的就是检查主存储库上的旧提交 并让它检查所有子模块中的适当提交 以获得当时代码的正确状态 我知道 git 包含必要的信息ls tree命令可以告诉我每个子
  • UWP - 在 xaml 中的图像上创建数据绑定工具提示

    我有一个数据驱动的集线器部分 可以很好地填充图像 视图模型包含我想作为工具提示显示的文本 但无法完全弄清楚 这是重要的片段
  • 如何从android中的事件坐标获取视图?

    我想拦截我的父视图上的触摸事件onInterceptTouchEvent MotionEvent ev 从那里我想知道单击了哪个视图以执行其他操作 有什么方法可以知道从收到的运动事件中单击了哪个视图 对于任何想知道我做了什么的人来说 我不能