我不想开发名为“Balda”的游戏。
我有一个 2d 网格的图像视图(或按钮,也许)。用户应该能够在网格上移动他的手指,并且应用程序应该知道在此移动中触摸了网格中的哪些图像。所以,下图中是我想要实现的目标。A - 是用户在屏幕上按下的起点。B是手指离开屏幕的终点。而且我需要知道触摸了哪些图像(图片中有蓝色)。
我知道我可以做这样的事情。但我认为这是一个错误的解决方案,因为它与按职责赋予功能的原则相矛盾。我认为 imageView 有责任知道手指何时进入其边界以及何时离开其边界。我想,这将在 android API 中。它有像 EVENT_HOVER_ENTER 和 EVENT_HOVER_LEAVE 这样的 MotionEvent 但它不适用于手指。在某些视图上按下手指后,如果我做对了,它将接收所有其他 MotionEvents。
我认为这是错误的。我该怎么做才能获得此功能?也许我可以创建一些支持它们的自定义侦听器和自定义视图?