gpt4 book ai didi

手指进入或离开 View 时的android MotionEvent

转载 作者:太空狗 更新时间:2023-10-29 12:46:59 24 4
gpt4 key购买 nike

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

我有一个二维 ImageView 网格(或者按钮,也许)。用户应该能够在网格上移动他的手指,并且应用程序应该知道在这个移动中触摸了网格中的哪些图像。所以,在下图中,我正在努力实现。 A - 是用户在屏幕上按下的起点。 B是手指离开屏幕的终点。我需要知道触摸了哪些图像(图片中有蓝色)。

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

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

enter image description here

最佳答案

我觉得你的需求和自定义gridview有点类似。

您可以尝试以下步骤-

1)创建自定义 View

2)将 TouchListener 附加到它。

3)将这个 View 分成4*3的矩阵。

4)将你的图像映射到这个 4*3 矩阵

5)编写一个函数,给出对应于Touched Coordinates的单元格编号

6)获取细胞号后,获取该细胞号的映射图像

7)将这张图片放入arraylist

8)当用户抬起他的手指时,你会得到触摸图像的数组列表(用它做任何你想做的事)。

9)记得把这个自定义 View 放到你的activity中

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

关于手指进入或离开 View 时的android MotionEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17233129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com