在列表视图上滑动项目,垂直边距较小

时间:2012-10-16 09:58:22

标签: android android-listview

所以我附上ListView

mList.setOnTouchListener(gestureListener);

这个手势监听器的作用基本上是测量deltaX(水平滑动)并检测它是否高于某个值,然后它知道滑动已经发生。

然后我有:

mList.setOnItemClickListener(new AdapterView.OnItemClickListener() { ... } 

如果滑动已经发生,则使用手势对象进行检查,如果是滑动,则单击。

这一切都很好。

我的问题是:

当我用拇指滑动元素时,有时我会使列表略微垂直滚动。 检测到水平滑动,但问题是OnItemClickListener没有触发,这是我在该项目上启动某些操作的位置,具体取决于它是否是滑动。

所以问题是listview的垂直滚动机制会使onItemClicked事件无法触发。

enter image description here

左侧列表工作正常,不会出现垂直滚动。 在右边的列表中,我也轻轻地向上滑动项目(仍在该项目的范围内),以便列表稍微移动一下。并且OnItemClicked不会触发。

如何为垂直滚动添加一个小余量,以便滚动显示但onItemClicked仍然被触发?

由于

1 个答案:

答案 0 :(得分:2)

我一直在寻找刷一个listview的实现, 现在,在12月版的Gmail中,每个项目都有一个刷卡效果,它的实现回答了我的问题

可以在这里找到:

https://gist.github.com/2980593