2

我有RecyclerView上面,我有一个AppBarLayout其高度大于255像素。当用户滚动RecyclerView时,AppBarLayout有一个问题。为了避免这种情况,我决定手动扩展AppBarLayout。我用的3。我用下面的代码来听RecyclerView跨度由GridLayoutManager的RecyclerView顶部达到如何检测RecyclerView何时滚动到最高位置

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { 
    @Override 
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) { 
     super.onScrollStateChanged(recyclerView, newState); 
     if (newState == RecyclerView.SCROLL_STATE_IDLE) { 
      int firstVisiblePosition = ((LinearLayoutManager)recyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition(); 
      if (firstVisiblePosition == 0) { 
       appBarLayout.setExpanded(true, true); 
      } 
     } 
    } 
}); 

回答

1
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { 
     @Override 
     public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
      super.onScrolled(recyclerView, dx, dy); 

      int firstVisibleItem = gridLayoutManager.findFirstCompletelyVisibleItemPosition(); 

      if(firstVisibleItem == 0){ 
       // your code 
      } 
     } 
    }); 
+0

但它不会解决我的问题 –

+0

我想在上面滚动 –

+0

达到了没有用,它将是相同的 –