1、mLayoutManager
private void moveToPosition(int position) {
if (position >= 0) {
mLayoutManager.scrollToPositionWithOffset(3, 0);
}
}
2、LinearSmoothScroller
mTopSmoothScroller = new TopSmoothScroller(getActivity());
private void smoothScroll(int position) {
mRecyclerView.postDelayed(new Runnable() {
@Override
public void run() {
if (!isDetached() && position >= 0 && getActivity() != null && mTopSmoothScroller != null) {
mTopSmoothScroller.setTargetPosition(position);
mLayoutManager.startSmoothScroll(mTopSmoothScroller);
}
}
}, 0);
}
TopSmoothScroller:
public class TopSmoothScroller extends LinearSmoothScroller {
public TopSmoothScroller(Context context) {
super(context);
}
@Override
protected int getHorizontalSnapPreference() {
return SNAP_TO_START;//具体见源码注释
}
@Override
protected int getVerticalSnapPreference() {
return SNAP_TO_START;//具体见源码注释
}
}
3、RecyclerView的
scrollBy(int x, int y)
scrollToPosition(int position)
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有