您的位置:首页 > 移动开发 > Android开发

RecyclerView选择item滚动到顶部

2016-12-22 21:33 197 查看

代码块

实现SnappingLinearLayoutManager 继承LinearLayoutManager 。

public class SnappingLinearLayoutManager extends LinearLayoutManager {

public SnappingLinearLayoutManager(Context context, int orientation, boolean reverseLayout) {
super(context, orientation, reverseLayout);
}

@Override
public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state,
int position) {
RecyclerView.SmoothScroller smoothScroller = new TopSnappedSmoothScroller(recyclerView.getContext());
smoothScroller.setTargetPosition(position);
startSmoothScroll(smoothScroller);
}

private class TopSnappedSmoothScroller extends LinearSmoothScroller {
public TopSnappedSmoothScroller(Context context) {
super(context);

}

@Override
public PointF computeScrollVectorForPosition(int targetPosition) {
return SnappingLinearLayoutManager.this
.computeScrollVectorForPosition(targetPosition);
}

@Override
protected int getVerticalSnapPreference() {
return SNAP_TO_START;
}
}


}

“`

使用方法

1.Rv.setLayoutManager(new SnappingLinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false))

2.Rv.smoothScrollToPosition(i);

若本文对你有帮助,希望能够评论下哈,这将鼓励博主继续写文章(^__^)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android
相关文章推荐