Lorsque je fais défiler mon RecycleView
ToolBar
masquer ou afficher (avec animation).
Comment puis-je retourner ToolBar
retour par programme?
Si votre barre d'outils est à l'intérieur d'un AppBarLayout qui est probablement dans votre CoordinatorLayout, quelque chose comme ceci devrait fonctionner.
AppBarLayout appBarLayout = (AppBarLayout)findViewById(R.id.appBar);
appBarLayout.setExpanded(true, true);
Ou pour le réduire
AppBarLayout appBarLayout = (AppBarLayout)findViewById(R.id.appBar);
appBarLayout.setExpanded(false, true);
Voici la définition
setExpanded(boolean expanded, boolean animate)
Notez que cette méthode est disponible à partir de la v23 de la bibliothèque de support, en voici documentation pour référence, l’essentiel à noter est " Comme avec le défilement de AppBarLayout, this La méthode repose sur le fait que cette disposition est l’enfant direct de CoordinatorLayout. "J'espère que cela vous aidera!
Est-ce ce que vous cherchez?
Toolbar toolbar = findViewById(R.id.toolbar); // or however you need to do it for your code
AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
params.setScrollFlags(0); // clear all scroll flags
Pour masquer la barre d’outils, vous pouvez faire quelque chose comme ceci:
toolbar.animate().translationY(-toolbar.getBottom()).setInterpolator(new AccelerateInterpolator()).start();
Si vous voulez le montrer à nouveau, vous appelez:
toolbar.animate().translationY(0).setInterpolator(new DecelerateInterpolator()).start();
Mon problème était très similaire à @Artem. J'ai essayé plusieurs correctifs, mais aucun d'entre eux ne fonctionnait pour moi. La réponse de @ Jraco11 est correcte lorsque vous utilisez AppBarLayout
. @ johnrao07 pas travaillé pour moi. Mais j'ai trouvé une solution parfaite à ce problème lorsque nous utilisons Toolbar
.
Pour masquer la barre d'outils par programmation
if (toolbar.getParent() instanceof AppBarLayout){
((AppBarLayout)toolbar.getParent()).setExpanded(false,true);
}
Pour afficher la barre d'outils par programmation
if (toolbar.getParent() instanceof AppBarLayout){
((AppBarLayout)toolbar.getParent()).setExpanded(true,true);
Reportez-vous la réponse originale (réponse de @Android HHT): -par programmation-show-toolbar-after -hidden-by-scrolling-Android-design-library