![](/img/trans.png)
[英]In Recyclerview, how to change initial scroll position to the top of first item?
[英]How to scroll last item on RecyclerView to the top position?
我事先道歉,我没有任何代码示例,因为我完全处于黑暗中以解决我的问题。 我想知道,如何将列表的最后一项滚动到回收站视图的顶部位置?
默认情况下,如果显示所有项目,并且不需要滚动,则无法再滚动查看更多项目。 与此冲突的是,我正在根据最顶层的项目更新单独视图的信息。
有什么想法吗? 我唯一能想到的是添加任意的假空数据,以便我可以继续滚动。 提前致谢
更新:虚拟数据以外的最佳替代解决方案是向RecyclerView添加填充。 如果我添加paddingBottom,则在滚动到最后一项之前,您看不到空白区域。 但填充必须精确,以迫使最后一个项目到顶部位置。 所以即使这是有缺陷的。
<android.support.v7.widget.RecyclerView
android:clipToPadding="false"
android:paddingBottom="300dp"
android:id="@+id/rv_data"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:scrollingCache="false"/>
好的,我能够让这个工作。 首先,我在onBindViewHolder中测量适配器中项目的大小
holder.llWrapper.measure(0,0);
我从那里获得了MeeuredHeight()并将其从我的适配器传递回我的片段。 然后我测量回收器视图高度。 我减去了recyclerview和项目的高度,余数是我需要设置底部到recyclerview的填充量
rv.setPadding(0,0,0,padding);
这是我能想到的最好的。 干杯!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.