如何在 listView 中设置最终滚动的位置?
Posted
技术标签:
【中文标题】如何在 listView 中设置最终滚动的位置?【英文标题】:How to set a final scroll's position in listView? 【发布时间】:2020-12-08 20:09:15 【问题描述】:也许有人遇到过这样的问题:我有适配器类,customView 类。一切正常。但是:当我滚动 listView 时,可以在中间的任何地方停止滚动。 但我预计:最终滚动的位置(当用户的手指向上并且惯性运动完成时)应该总是像我的截图(image1)一样,而不是这样(image2)。
【问题讨论】:
【参考方案1】:希望我能正确理解您的问题。
在ListView
android 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 不滚动