如何在 listView 中设置最终滚动的位置?

Posted

技术标签:

【中文标题】如何在 listView 中设置最终滚动的位置?【英文标题】:How to set a final scroll's position in listView? 【发布时间】:2020-12-08 20:09:15 【问题描述】:

也许有人遇到过这样的问题:我有适配器类,customView 类。一切正常。但是:当我滚动 listView 时,可以在中间的任何地方停止滚动。 但我预计:最终滚动的位置(当用户的手指向上并且惯性运动完成时)应该总是像我的截图(image1)一样,而不是这样(image2)。

【问题讨论】:

【参考方案1】:

希望我能正确理解您的问题。

ListViewandroid ListView - stop scrolling at 'whole' row position实现这一点

对于RecyclerView,您可以使用SnapHelper 实现此目的

LinearSnapHelper().attachToRecyclerView(recyclerView)

【讨论】:

#shb,你好。谢谢你的建议。在研究了您建议的信息后,我做出了一个决定:(也许有人会有用): #shb,你好。感谢您的意见。在研究了您所建议的信息后,我似乎发现为我解决了问题:(也许对某人有用): 查看 childView = view.getChildAt(0); Rect rect = new Rect(0, 0, childView.getWidth(), childView.getHeight());双倍高度 = childView.getHeight(); view.getChildVisibleRect(childView, rect, null); if (Math.abs(rect.height())

以上是关于如何在 listView 中设置最终滚动的位置?的主要内容,如果未能解决你的问题,请参考以下文章

我在 android listview 中设置了 Enabled false 但 listview 不滚动

如何在自定义 ListView 中设置按钮的可见性?

如何在 ADF 中设置滚动条位置

如何在android应用程序中设置垂直动画滚动

如何在我的 winforms 应用程序中设置我的 datagrid 滚动条的位置?

请问:C# listView控件如何判断滚动条的位置?判断滚动条在控件的最下面?