android - 如何获取Motion事件中的所有点数

标签 android android-canvas

我正在开发用于删除的手指绘画类型的应用程序。我为此使用了笔画删除(不是点删除)我收集了笔画删除时存储在数组列表中的整个笔画对象,我只是比较每个笔画并删除特定的笔画。删除后在 Canvas 中重新渲染整个笔画时,即使我正在收集我的历史点事件,我也遗漏了很多点

最佳答案

检查 this从 android 中的运动事件获取所有 x 和 y 坐标的链接。

试试这段代码

 void printSamples(MotionEvent ev) {
 final int historySize = ev.getHistorySize();
 final int pointerCount = ev.getPointerCount();
 for (int h = 0; h < historySize; h++) {
     System.out.printf("At time %d:", ev.getHistoricalEventTime(h));
     for (int p = 0; p < pointerCount; p++) {
         System.out.printf("  pointer %d: (%f,%f)",
             ev.getPointerId(p), ev.getHistoricalX(p, h), ev.getHistoricalY(p, h));
     }
 }
 System.out.printf("At time %d:", ev.getEventTime());
 for (int p = 0; p < pointerCount; p++) {
     System.out.printf("  pointer %d: (%f,%f)",
         ev.getPointerId(p), ev.getX(p), ev.getY(p));
 }
 }

来自 this运动事件链接。

希望对您有所帮助。

关于android - 如何获取Motion事件中的所有点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21927467/

相关文章:

android - 如何将位图绘制到另一个位图,但绘制到给定的四边形(不一定是矩形)?

java - recycleview 设置适配器中支持 v4 view.NestedScrollingChild2 时出错

使用 ADB 拉取时 Android SQLite 数据库损坏

java - 您可以在 Android 上使用 Bloomberg API 吗?

java - 我如何知道我的 Android APK 的安装数量?

android - 为 QLineEdit 选择输入键盘类型

Android View.invalidate(Rect) 两个设备之间的不同行为

java - 如何在 Canvas 上绘制 Canvas

java - 如何在 android 的 Canvas 上绘制多段线?

Android ConcurrentModification onDraw()