Android RecycleView懸浮按鈕點擊返回頂部


1、添加懸浮按鈕

 

 2、實例化

returnTop = view.findViewById(R.id.fab);
3、recycleView添加滑動事件
  recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(@NonNull final RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
//獲得recyclerView的線性布局管理器
LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();
//獲取到第一個item的顯示的下標 不等於0表示第一個item處於不可見狀態 說明列表沒有滑動到頂部 顯示回到頂部按鈕
int firstVisibleItemPosition = manager.findFirstVisibleItemPosition();
// 當不滾動時
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
// 判斷是否滾動超過一屏
if (firstVisibleItemPosition == 0) {
returnTop.hide();
} else {
//顯示回到頂部按鈕
returnTop.show();
returnTop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
recyclerView.scrollToPosition(0);
}
});

}//獲取RecyclerView滑動時候的狀態
}
// else if (newState == RecyclerView.SCROLL_STATE_DRAGGING) {//拖動中
// returnTop.hide();
// }
}
});
 
        

RecyclerView有三個滑動狀態:

  • 當前的recycleView不滑動(滑動已經停止時) public static final int SCROLL_STATE_IDLE = 0;
  • 當前的recycleView被拖動滑動 public static final int SCROLL_STATE_DRAGGING = 1;
  • 當前的recycleView在滾動到某個位置的動畫過程,但沒有被觸摸滾動.調用 scrollToPosition(int) 應該會觸發這個狀態 public static final int SCROLL_STATE_SETTLING = 2;

 

 

文章:https://blog.csdn.net/weixin_34365417/article/details/93165895



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM