0

MotionEvent我正在为平板电脑编写一个 Android 5.1 应用程序,我能够在对象的帮助下区分触摸和手写笔输入。

是否可以只允许手写笔输入(即触摸应该没有效果)?

4

1 回答 1

2

不确定没有更好的方法,但您可以创建自定义视图,将其放在布局中的最顶部(使其具有全宽和全高,以便覆盖整个区域)。视图唯一的工作是处理输入并通过将它们标记为已处理来“消耗”您想要过滤掉的所有运动事件(即这些不是来自触控笔),并忽略所有其他事件,从而允许框架通过您的视图层次结构传播由其他视图定期处理。

编辑

最简单的实现是让您的视图扩展现有但简单的东西,例如。FrameLayoutSpace(所以你不需要打扰所有的措施)并覆盖onTouchEvent()以过滤所有输入。如果这是您不想传递的东西,请通过返回在此处“使用”它true,否则返回false以使其传播。重要的是使您的视图最重要以覆盖所有其他视图,即

FrameLayout
   YourCustomView
   PreviousLayout
于 2017-07-21T14:37:46.453 回答