//滑動監聽,當條目滑動一定程度的時候讓返回頂部的按鈕顯示
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
//首先得到頁面佈局
RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
//判斷佈局,如果是GridLayoutManager 佈局,強轉以後得到第一個可見的下標,大於5就
// 讓返回頂部的按鈕顯示出來,點選這個按鈕返回下標為0的item
if (layoutManager instanceof GridLayoutManager) {
int position = ((GridLayoutManager) layoutManager).findFirstVisibleItemPosition();
if (position > 5) {//這裡的toTop是一個Button,根據自己需求來定義就可以
toTop.setVisibility(View.VISIBLE);
toTop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//seek_recyclerView.scrollToPosition(0);//兩個都可以
seek_recyclerView.smoothScrollToPosition(0);
}
});
} else {
toTop.setVisibility(View.GONE);
}
} else if (layoutManager instanceof LinearLayoutManager) {
int position = ((LinearLayoutManager) layoutManager).findFirstVisibleItemPosition();
if (position > 10) {
toTop.setVisibility(View.VISIBLE);
toTop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//seek_recyclerView.scrollToPosition(0);//兩個都可以
seek_recyclerView.smoothScrollToPosition(
0)
; } })
; }
else {
toTop.setVisibility(View.
GONE)
; } } }})
;