【发布时间】:2013-03-20 09:35:58
【问题描述】:
我想知道是否有可能让 View 彼此叠放并为它们分开监听器。具体来说,我有两个完全重叠且尺寸完全相同的视图,我正在尝试为 view_one 实现一个运动事件 OnTouchListener,为 view_two 实现一个 OnLongPressListener。但是,view_one 上的 OnTouchListener 似乎阻止了 view_one 的 OnLongClickListener。
代码的基本目标是让多个触摸交互做不同的事情:
- 短按做一件事
- 长按另一个
- 垂直方向的触摸拖动和释放会做另一件事
- 在另一个水平方向上触摸拖动
等等,尽可能多的不同的东西。
也许我应该只有一个用于触摸而不是两个的视图,并且有一种方法可以将触摸和运动事件分开。我知道如何区分短按和长按事件,但运动事件会搞砸。
我确信有更好的方法来做到这一点。非常感谢任何提示或建议。有没有办法限制滑动动作的长度和触摸持续时间,以帮助确定要采取的行动?
【问题讨论】:
-
感谢您的编辑,我是新手,所以下次我会更多地处理格式问题。这样的 cmets 是否被视为离题且不允许?
-
如果两个视图的尺寸相同,为什么需要检测两个视图的触摸,而不是仅消耗顶视图上的触摸。长按视图 1 与长按视图 2 相同,如果它们具有完全相同的尺寸和位置...
-
是的,我认为你是对的......我只是把这一切都搞错了。 kyle 下面的解决方案解决了我的问题。