方式一:
此方式在列表显示完成之后无item高度变化的情况下适用,如果有高度动态变化则距离获取会不准确,这种情况下可以用方式二。
int scrollY = 0;//距离顶部距离
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
}
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
scrollY += dy;
}
});
方式二:
使用自定义的LinearLayoutManager。
int scrollY = 0;//距离顶部距离
final OffsetLinearLayoutManager offsetLinearLayoutManager = new OffsetLinearLayoutManager(this);
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override</