所以我附上ListView
:
mList.setOnTouchListener(gestureListener);
这个手势监听器的作用基本上是测量deltaX(水平滑动)并检测它是否高于某个值,然后它知道滑动已经发生。
然后我有:
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() { ... }
如果滑动已经发生,则使用手势对象进行检查,如果是滑动,则单击。
这一切都很好。
我的问题是:
当我用拇指滑动元素时,有时我会使列表略微垂直滚动。
检测到水平滑动,但问题是OnItemClickListener
没有触发,这是我在该项目上启动某些操作的位置,具体取决于它是否是滑动。
所以问题是listview的垂直滚动机制会使onItemClicked事件无法触发。
左侧列表工作正常,不会出现垂直滚动。
在右边的列表中,我也轻轻地向上滑动项目(仍在该项目的范围内),以便列表稍微移动一下。并且OnItemClicked
不会触发。
如何为垂直滚动添加一个小余量,以便滚动显示但onItemClicked仍然被触发?
由于
答案 0 :(得分:2)
我一直在寻找刷一个listview的实现, 现在,在12月版的Gmail中,每个项目都有一个刷卡效果,它的实现回答了我的问题
可以在这里找到: