2017-03-28 1 views
-1

J'ai un bouton appelé partager sur la feuille de fond, maintenant je veux que ce bouton soit visible seulement si l'état est développé, dans n'importe quel autre bouton d'état ne devrait pas être visible. voici le code que j'ai essayé.la visibilité du bouton sur le changement de comportement de la feuille inférieure

 if (mBottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {share.setVisibility(View.VISIBLE);} 
    if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_COLLAPSED){share.setVisibility(View.GONE);} 
    if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_SETTLING){share.setVisibility(View.GONE);} 
    if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_SETTLING){share.setVisibility(View.GONE);} 

mais quand je fais glisser bottomsheet pour développer ou réduire rien ne se passe, est-il correctement que je ne sais pas

+0

Oui, il existe un moyen https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html –

Répondre

1

Vous pouvez essayer cette

mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { 
 
    @Override 
 
    public void onStateChanged(View bottomSheet, int newState) { 
 
     if (newState == BottomSheetBehavior.STATE_EXPANDED) { 
 
       share.setVisibility(View.VISIBLE); 
 
     }else{ 
 
       share.setVisibility(View.GONE); 
 
     } 
 
    } 
 
    
 
    @Override 
 
    public void onSlide(View bottomSheet, float slideOffset) { 
 
    } 
 
});

+0

C'est la bonne réponse. J'ai utilisé cette méthode mais j'ai oublié, et je suis nouveau à android et pile débordement pourquoi êtes-vous downvoting moi au lieu d'aider – ravalrocks

+0

je ne vous rejette pas, bonne chance – Pablo

+0

oh sry et merci pour la réponse – ravalrocks