安卓触摸和滚动列表视图

3

我在我的应用程序中有一个自定义的列表视图,在该列表项中,列表项可以拖动,并且可以在列表视图本身的其他位置上放置。现在我的问题是,我想滚动列表视图。我尝试使用onIntercept touch事件,但只有触摸事件发生。我无法滚动,有人能给我建议如何实现这个功能吗...


检查motionEvent的操作是否为ACTION_MOVE,如果是,则返回false,以便将触摸事件传递给层次结构中的其他元素。 - Teodor
是的...我试过那个,但它不像我预期的那样工作...现在我正在尝试使用自定义滚动视图类来实现自动滚动。 - user1427961
3个回答

0

我使用pointToPosition方法获取了平面位置,并动态将其提供给smoothScrollToPosition方法。

    int flatPos=pointToPosition(flatx, flaty);

    super.smoothScrollToPosition(flatPos);

0
如何为您的ListItem创建如下所示的布局:

enter image description here

如果这种布局不符合您的要求,请告诉我们。


首先感谢!这与我尝试做的类似,但我将尝试使用拖放重新排列,并使用右侧的滚动条滚动,不仅可以使用滚动条,还可以使用其他任何东西,但逻辑应该相同。 - user1427961

-1

你可以考虑使用Carl A. Bauer的开源DragSortListView,它可以处理拖动排序,即使在没有拖放功能的旧版Android上也能实现,同时仍然可以滚动列表。有两种特定的技术可以用于此:您可以使用拖动手柄(如Gagan所绘制的)来排序项目,并让任何其他地方的拖动滚动列表;或者您可以让拖动滚动列表,并长按一个项目来拿起并重新排列它。它非常灵活地处理轻触和拖动,因此还有更多可能性。

完全透明披露:作为该库的用户,我也为其做出了贡献,但我对人们使用它没有任何经济利益,也没有与作者的其他联系。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接