当手指进入或离开视图时,Android MotionEvent

时间:2013-06-21 10:35:31

标签: android motionevent

我不想开发名为“Balda”的游戏。

我有一个2D网格的图像视图(或按钮,也许)。 用户应该可以在网格上移动他的手指,应用程序应该知道在此移动中触摸了网格中的图像。所以,在下面的图片中我正在尝试实现。 A - 是用户在屏幕上按下的起点。 B是手指离开屏幕的终点。我需要知道触摸了什么图像(图中有蓝色)。

我知道我可以做this之类的事情。但我认为这是一个错误的解决方案,因为它与责任赋予功能的原则相矛盾。 我认为imageView的责任是知道手指何时进入其边界以及何时离开其边界。 我想,这将是在Android API中。它有像EVENT_HOVER_ENTER和EVENT_HOVER_LEAVE这样的MotionEvent但它不能用手指操作。在某些View上按下手指后,如果我做对了,它将接收所有其他MotionEvent。

我认为这是错误的。我该怎么做才能获得此功能?也许我可以创建一些支持它们的自定义侦听器和自定义视图?

enter image description here

1 个答案:

答案 0 :(得分:3)

我认为您的要求与自定义gridview略有相似。

您可以尝试以下步骤 -

1)创建自定义视图

2)将TouchListener附加到它。

3)将此视图划分为4 * 3矩阵。

4)将图像映射到此4 * 3矩阵

5)编写一个函数,该函数给出相应于Touched坐标的单元格数

6)获取单元格编号后,获取该单元格编号的映射图像

7)将此图片放入arraylist

8)当用户抬起手指时,您将获得触摸图像的arraylist(随心所欲地做任何事情)。

9)请记住将此自定义视图添加到您的活动中

告诉我,如果您有任何疑问或疑虑

相关问题