2017-05-05 2 views
1

J'ai mis en addonscrollListener pour mon recyclerview puisque je veux
cacher mon FAB quand recyclerview défile comme suit:Recyclerview AddOnScrollListener

mRvNearby.addOnScrollListener(new RecyclerView.OnScrollListener() { 
      @Override 
      public void onScrollStateChanged(RecyclerView recyclerView, int newState) { 
       super.onScrollStateChanged(recyclerView, newState); 
      } 

      @Override 
      public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
       super.onScrolled(recyclerView, dx, dy); 
       Log.e("DY",""+dy); 
       if(dy<0){ 
        mFloatingActionMenu.hideMenuButton(true); 
       }else{ 
        mFloatingActionMenu.showMenuButton(true); 
       } 
      } 
     }); 

Mais malheureusement, quand j'utilise cet écouteur, la « dy » seuls changements une fois, et quand j'ai défilé en continu, la valeur
n'a pas changé.
j'attendais que lorsque défiler vers le bas, la valeur sera inférieure à 0.
et quand défiler vers le haut, la valeur est supérieure à 0.

Répondre

0

Utilisez plus de signe au lieu de moins. Lorsque vous faites défiler vers le bas la valeur est supérieure à 0. Donc, votre code sera:

mRvNearby.addOnScrollListener(new RecyclerView.OnScrollListener() { 
     @Override 
     public void onScrollStateChanged(RecyclerView recyclerView, int newState) { 
      super.onScrollStateChanged(recyclerView, newState); 
     } 

     @Override 
     public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
      super.onScrolled(recyclerView, dx, dy); 
      Log.e("DY",""+dy); 
      if(dy>0){ 
       mFloatingActionMenu.hideMenuButton(true); 
      }else{ 
       mFloatingActionMenu.showMenuButton(true); 
      } 
     } 
    }); 
+0

Dans mon journal, OnScrolled appelé une seule fois. –

+0

En d'autres termes, votre journal n'imprime qu'une seule fois? –

+0

oui. son impression une seule fois en surfacturation. il devrait être en faisant défiler, il devrait imprimer le DY –

0

Vous pouvez utiliser FloatingActionButton.Behavior pour montrer/cacher FAB en Recyclerview défile.

Vérifiez cette Tutorial

+0

Merci. Je vais essayer cela à la place. –

+0

ok .. S'il vous plaît essayer et laissez-moi savoir les résultats. – VishnuSP