基于Android的触摸区域检测

基于Android的触摸区域检测,android,Android,是否可以检测到每个被触摸的像素?更具体地说,当用户触摸屏幕时,是否可以跟踪用户触摸的点簇的所有x-y坐标?我如何区分用户用拇指绘图和用指尖绘图的区别?我想根据用户触摸屏幕的方式来反映笔刷的差异,还想跟踪所有被触摸像素的x-y坐标。非常感谢您的帮助。如果您正在寻找一种方法,将内容视图作为活动#setContentView(int)之后的视图,那么您可以在布局的最外层元素上设置id: android:id=“@+id/entill_view”并在setContentView之后的onCreate()

是否可以检测到每个被触摸的像素?更具体地说,当用户触摸屏幕时,是否可以跟踪用户触摸的点簇的所有x-y坐标?我如何区分用户用拇指绘图和用指尖绘图的区别?我想根据用户触摸屏幕的方式来反映笔刷的差异,还想跟踪所有被触摸像素的x-y坐标。非常感谢您的帮助。

如果您正在寻找一种方法,将内容视图作为
活动#setContentView(int)
之后的视图,那么您可以在布局的最外层元素上设置id:

android:id=“@+id/entill_view”
并在
setContentView
之后的
onCreate()
方法中引用它:

View view = getViewById(R.id.entire_view);
view.setOnTouchListener( ... );

如果你的图像上有一个监听器,它会回应说,基本上,边界框中有一个触摸

所以,为了得到你想要的东西,你可以,但是,我永远不会这样做,在每个像素或一小群像素周围创建一个框,然后聆听触摸

无论你接触到什么地方,它都可能触发一个事件,然后你可以做出相应的反应

我想不出任何其他的解决方案,可以一次给你一个人触摸到的每个像素

不过,您可能需要阅读多点触控,因为这里有一些建议,我可以帮助您:


这将是非常棘手的,主要是因为每个安卓手机的行为都会有所不同。有一些触摸屏设备非常非常敏感,而相比之下,有些基本上是“呆板”的

这听起来更像是你想要跟踪压力——用户在屏幕上施加的压力有多大——这在android设备上实际上是受支持的

我认为你的一些答案可以通过监控所有的触摸事件来找到——实际上,大多数应用程序忽略了大量的事件,或者对事件执行了某种“平滑”,因为当用户操作屏幕时,确实会有大量的触摸事件。但这样做可能会对应用程序的性能产生负面影响

我建议您研究压力敏感性,并根据压力计算主要接触点周围的圆形区域,然后围绕该区域构建笔刷

另一个想法是在你尝试做的事情中加入更多的手势方法——例如,想象用两个指尖(食指和中指)一起触摸屏幕,并将中指绕着食指滚动,或者简单地相对于食指上下移动中指。两个手指会一起移动来画画。这可以用于动态操纵绘图角度,甚至可以在一组预先选定的笔刷之间切换,也可以在绘制时动态更改笔刷大小

上面的一些想法我很想看到实现-当你的应用程序准备好时告诉我

祝你好运! 罗德尼