一、话不多说,直接上代码,先写 一键回到顶部的代码
布局就不多说了,一个按钮而已,
btn_to_top.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//这是重点
mainRecycleLV.scrollToPosition(0);
}
});
二、实现当第一个item不可见时,显示“回顶部”的按钮,看网上一堆又是测量又是重写方法的,太麻烦了,我自己总结了一个简单地实现,区区几行代码:
mainRecycleLV.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);
//判断第一条item是否可见,如果不可见则显示回顶部按钮
if (recyclerView.getLayoutManager().findViewByPosition(0)==null){
btn_to_top.setVisibility(View.VISIBLE);
}else {
btn_to_top.setVisibility(View.GONE);
}
}
});
以上就是功能代码的实现了,相信稍有基础的小伙伴都可以看得懂。