如何在 Android 中正确地将像素坐标转换为画布坐标?

2023-12-21

我正在捕捉一个MotionEvent在 Android 设备上长按SurfaceView用一个GestureListener。然后我需要翻译的坐标MotionEvent到画布坐标,我可以从中生成自定义地图坐标(不是 Google 地图)。

根据我所读到的内容,我认为MotionEvent e, e.getX() and e.getY()获取像素坐标。我怎样才能将这些坐标转换为SurfaceView的画布坐标?

这是我的GestureListener用于监听长点击:

/**
* Overrides touch gestures not handled by the default touch listener
*/
private class GestureListener extends GestureDetector.SimpleOnGestureListener {

  @Override
  public void onLongPress(MotionEvent e) {
     Point p = new Point();
     p.x =  (int) e.getX();
     p.y = (int) e.getY();
     //TODO translate p to canvas coordinates
  }
}

提前致谢!

Edit:这与屏幕尺寸/分辨率/深度和画布的 Rect 对象有关吗?


您可以尝试使用MotionEvent.getRawX()/getRawY()方法而不是getX()/getY().

// get the surfaceView's location on screen
int[] loc = new int[2];
surfaceView.getLocationOnScreen(loc);
// calculate delta
int left = e.getRawX()-loc[0];
int top = e.getRawY()-loc[1];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android 中正确地将像素坐标转换为画布坐标? 的相关文章

  • 无法获取项目的未知属性“assembleRelease”

    将 Android Studio 更新到版本 2 2 并将 gradle 插件更新到 2 2 0 后 出现以下错误 错误 32 1 评估项目 jobdispatcher 时出现问题 无法获取 org gradle api Project 类
  • 将用户重定向到 iTunes 应用商店或 Google Play 商店?

    我正在寻找一种简单的解决方案来发布我的应用程序的一个链接 例如在 Facebook 上 如果用户使用移动设备访问它 它应该自动重定向到正确的应用程序商店 否则 用户应该被重定向到我的网站 iOS应用程序 http itunes apple
  • python - opencv - 将像素从 bgr 转换为 hsv

    img cv2 imread example jpg img hsv cv2 cvtColor img cv2 COLOR BGR2HSV lower mask 0 10 lower red np array 0 50 50 upper r
  • 需要对某些片段禁用 CollapsingToolbarLayout 的展开

    我有一个AppCompatActivity控制替换许多片段 这是我的布局 活动 main xml
  • 如何以编程方式判断蓝牙设备是否已连接?

    我了解如何获取已配对设备的列表 但如何判断它们是否已连接 这一定是可能的 因为我看到它们列在我手机的蓝牙设备列表中 并且它说明了它们的连接状态 将蓝牙权限添加到您的AndroidManifest中
  • 与通用地图相比,MapView 的分辨率较差

    我刚刚收到 HTC Desire 进行测试 我注意到 残留在小于整个屏幕的框架中的地图视图不如通用地图应用程序那么清晰 有什么办法解决这个问题吗 您应该使用 API 级别 4 或更高级别编译应用程序 然后在 AndroidManifest
  • Android 中图像字节表示的每像素字节数

    我目前正在编写一个Android应用程序 需要在其中使用OCR 为了实现这一点 我将 Tesseract 与tesseract android tools 项目 http code google com p tesseract androi
  • 如何最大限度地减少 Google API(地点)自动完成的请求量?

    我正在使用 google API 位置来自动完成位置AutoCompleteTextView 我做了几次测试 大概进行了 20 次搜索 在我的 google devs 个人资料中 写着我已经发出了 200 个 API 请求 据我所知 每次我
  • Android 在 Windowmanager 中调整视图大小

    这是我的代码 menubuttonClosed li inflate R layout menu button null menubutton ImageButton menubuttonClosed findViewById R id m
  • 何时调用 glMatrixMode()

    我所关注的大多数 Android OpenGL ES 教程都有其 onSurfaceChanged 函数 如下所示 public void onSurfaceChanged GL10 gl int width int height gl g
  • 如何防止应用程序被盗(针对Android应用程序)?

    我想知道防止人们窃取我的应用程序的最有效方法是什么 在线下载 apk 的副本而不是购买它 我已经花了一个lot特别是 Droidbox 上的时间 并且不会发布 Sync 直到我可以保证提供专业版本的非法副本的人无法发布 有人实施过这个吗 我
  • Android:从 PhoneGap 应用打开 Play 商店链接

    我想从我的phonegap 3 4 应用程序打开一个指向Google Play 商店的链接 呼唤market details id com google android apps maps导致 ActivityNotFoundExcepti
  • onStart() 到底做了什么? - 安卓[重复]

    这个问题在这里已经有答案了 一段时间以来 我一直想知道 onStart 函数在 android 生命周期中的确切作用 网上的大多数资源只是说 它在您的活动在屏幕上可见之前被调用 但到目前为止我所做的应用程序我从未使用过onStart 我在
  • Grade Plugin 3-alpha1 输出文件导致错误

    我正在尝试将项目更新到 Android Studio 3 build gradle 文件中不再接受以下代码片段 applicationVariants all variant gt variant outputs each out gt d
  • 带有工具提示的搜索栏 android

    Hi All 我正在尝试使用工具提示自定义 android 搜索栏 如给定的图像 有没有办法在搜索栏中添加带有拇指的文本视图 或任何其他想法 Thanks 我们可以通过拇指的界限来做到这一点 并在seekbar的progressChange
  • 致命异常:GoogleApiHandler

    在我的项目中 我使用货币化服务 Vungle AppLovin 当我尝试加载广告时 出现此异常 E AndroidRuntime 致命异常 GoogleApiHandler 进程 kz ikar PID 3673 java lang NoS
  • Android SDK WebView调用Activity

    我试图在单击 WebView 组件内的链接时启动活动 我的Webview已加载到里面Main java我想启动SubActivity java当点击网站内的链接时Main java 另外 如何将参数传递给此活动 Example inspec
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • 在两个片段之间拖放视图

    我目前正在尝试在两个片段之间实现拖放 我已经将它们添加到我的活动中 如下所示 FragmentManager fm getFragmentManager FragmentTransaction ft fm beginTransaction
  • FCM(Firebase Cloud Messaging)如何发送到所有手机?

    我创建了一个小型应用程序 能够从 FCM 控制台接收推送通知 我现在想做的是向所有使用 API 安装应用程序的 Android 手机发送推送通知 这就是我完全迷失的地方 有没有办法在不收集所有注册ID的情况下将其发送到所有手机 这是否仅适用

随机推荐

  • 使用 QVariantAnimation 显示图像列表

    我在使用 QVariantAnimation 时遇到一些问题 我一直在寻找如何使用它 但我只是不明白该怎么做 我读到的文档和示例让我更加困惑 我有一个 png 图像列表 我希望它们在一定时间内从 A 点移动到 B 点并根据我定义的步骤更改图
  • Python请求以字符串形式发送证书[重复]

    这个问题在这里已经有答案了 我似乎无法让握手正常工作 cert path to cert file pem url https example com api requests get url cert cert verify True 当
  • 从 Docker 容器中的 maven Quarkus 项目上的资源文件夹中读取 txt 文件

    我有一个项目来解析一个大文件中的一些信息 The project uses maven and java 结构如下 当我从 IDEA 运行应用程序时 我可以使用以下命令读取该文件 public void buffer throws IOEx
  • 404 在 Laravel 8 中未找到

    我正在创建一个简单的网站Laravel在运行网站时遇到了问题404 NOT FOUND Laravel 8 当我点击时索引页面正在工作about us and 联系我们页面出现错误404 NOT FOUND我不知道这是为什么 到目前为止我尝
  • 如何将数据从 Firebase 检索到 ListView(使用自定义数组适配器)

    我目前设计了一个地点浏览器应用程序 其中在列表视图中显示 3 个项目 当用户登录时 他会找到一个类别列表 单击某个类别后 将显示该类别下的地点列表 我已将该应用程序与 Firebase 关联 现在 我想显示 2 项 placeTitle a
  • 匹配括号内的特定单词

    我需要匹配并替换括号之间的特定单词 包括括号 像这样的东西 xxx xxxxSPECIFICWORDxxxxxxxxxxx xxx 我需要更换这个 xxxxSPECIFICWORDxxxxxxxxxxx 我的文字看起来像这样 xx xxxx
  • 从远处看时,ThreeJS 纹理是像素化的

    我正在使用 webGL 和 ThreeJS 然后我遇到了以下问题 从远处看时 具有大图像的纹理会出现像素化 检查示例 http jsfiddle net 4qTR3 1 http jsfiddle net 4qTR3 1 下面是代码 var
  • 有没有为C#实现的图数据结构

    我试图找到一种在 C 中重用的图形数据结构 但没有成功 当然 我可以借用数据结构书籍 但我希望它更具商业实用性 如果您能告诉我实现图的最佳方法是什么 我将不胜感激 谢谢 快速图表 https github com YaccConstruct
  • GNU emacs 相当于 func-menu

    GNU emacs 是否有等效的 func menu 当我可以访问 xemacs 时 我使用了 func menu 并且与 speedbar 或 sr speedbar 相比 我更喜欢它的行为 具体来说 我喜欢只显示当前文件的功能 功能列表
  • 在程序包管理器控制台窗口中进入\退出 PowerShell 模式

    我想我不小心进入了 PowerShell 模式 所以目前我的控制台显示 PS gt c dev 我想知道如何退出 PS gt 模式并返回 PM 模式 我希望控制台窗口显示 PM gt 以便我可以安装软件包 这样的事情我也经历过 我尝试重新启
  • Spark的Column.isin函数不接受List

    我正在尝试从 Spark Dataframe 中过滤掉行 val sequence Seq 1 2 3 4 5 df filter df column isin sequence 不幸的是 我收到不支持的文字类型错误 java lang R
  • 在 python 中打印混淆矩阵的精度

    这是我的代码 from sklearn metrics import confusion matrix cm confusion matrix y test y pred 这就是我得到的 0 1 0 102 39 1 73 29 我怎样才能
  • IE10、IE11 中的跨浏览器 css 渐变

    我在所有浏览器中为深色按钮做了渐变 看起来不错 除了 IE10 IE11 版本 顶部和底部有浅色条纹 我通过 colorzilla 渐变编辑器生成渐变 链接到按钮 http buttons selcet com ua HTML div cl
  • Webpack 捆绑导致未知提供者 $injector/unpr 错误

    未知提供商 NavigationCtrl Restangular 我目前正在处理我的旧项目 让它们再次完全工作 作为一个小的重构练习 我遇到了一些不再编译的 AngularJS 代码 我相信这取决于更新的依赖项 因为我至少 3 年没有更改此
  • 实体框架在生成数据库时创建下划线列

    我有一个简单的对象模型如下 public class Product public long ProductId get set public int CategoryId get set public Category Category
  • Rails3 Google 地图使用 selenium 进行测试

    我正在尝试使用 Rails3 测试谷歌地图应用程序 我使用黄瓜与水豚和硒进行 JavaScript 测试 我有一张地图 等待谷歌地图加载 然后向我的服务器发送 ajax 请求 在服务器上我获取要插入地图中的位置 我想知道硒是否可以等待谷歌地
  • 验证一个整数并使其为 5 位数字

    我正在上我的第一堂 Java 课 我需要询问邮政编码 我知道如果他们不输入 5 位数字 如何要求新输入 但如果他们输入非整数 我该如何要求新输入 这是我所拥有的 import java util Scanner public class A
  • 将原语传递给 OCMock 的存根

    我正在学习如何使用 OCMock 来测试我的 iPhone 项目 我有这样的场景 一个带有getHeightAtX andY 方法和 Render 类使用HeightMap 我正在尝试使用一些单元测试渲染HeightMap嘲笑 这有效 id
  • jquery的promise方法到底是如何工作的?

    我真的不明白什么delegate and promise are 根据文档 delegate会将选择器和事件绑定到某种包装容器 该包装容器可以在以后再次用于当前和将来的项目 promise 如果新加载的所有内容都匹配 则会将事物重新映射回第
  • 如何在 Android 中正确地将像素坐标转换为画布坐标?

    我正在捕捉一个MotionEvent在 Android 设备上长按SurfaceView用一个GestureListener 然后我需要翻译的坐标MotionEvent到画布坐标 我可以从中生成自定义地图坐标 不是 Google 地图 根据