Materialdrawer: setDisplayHomeAsUpEnabled (true) ne va nulle part

Créé le 28 févr. 2015  ·  5Commentaires  ·  Source: mikepenz/MaterialDrawer

J'ai appelé setDisplayHomeAsUpEnabled (true) et la flèche s'affiche, mais elle ne va nulle part.

Comment puis-je faire ceci

Merci.

question

Commentaire le plus utile

Vous devez d'abord initialiser la barre d'outils:

Toolbar toolbar = (Toolbar) findViewById (R.id.toolbar);

setSupportActionBar (barre d'outils);

puis appelez le bouton de retour depuis actionBar:

getSupportActionBar (). setDisplayHomeAsUpEnabled (true);

getSupportActionBar (). setDisplayShowHomeEnabled (true);

@Passer outre
public booléen onSupportNavigateUp () {
onBackPressed ();
retourne vrai;
}

Tous les 5 commentaires

J'ai réalisé la même chose en ajoutant la ligne suivante dans le fichier Manifest
android: name = "android.support.PARENT_ACTIVITY"
android: value = ". MainActivity" />

Veuillez me suggérer s'il existe une autre façon de le faire.

@vishnudbimcs vous voulez dire la bascule du tiroir? la bibliothèque elle-même fournissait une fonctionnalité basique de bascule de tiroir. vous pouvez également récupérer l'objet à partir du résultat.

Cette bibliothèque gère le MaterialDrawer et juste les éléments de base qui l'entourent. Donc, pour des cas particuliers avec la barre d'outils ou l'ActionBarToggler, implémentez-le simplement comme vous le feriez si vous créez une application normale. ;)

Bonjour
J'ai une activité A avec le tiroir et à l'intérieur je gonfle un fragment A.
Le tiroir a .withActionBarDrawerToggle (true) et je n'ai pas défini le getSupportActionBar (). SetDisplayHomeAsUpEnabled (true) sur l'activité
Ensuite, à l'intérieur de l'activité A, remplacez le fragment A par le fragment B, et je veux afficher le "backbutton" au lieu de la bascule du tiroir, après avoir gonflé le fragment BI:

result.getActionBarDrawerToggle().setDrawerIndicatorEnabled(false);
 getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Et le bouton arrière est affiché, mais si j'appuie dessus, il ne fait rien. J'ai également effectué le remplacement d'activité sur OnbackPressed:

 <strong i="12">@Override</strong>
  public void onBackPressed() {
}

Mais il n'est jamais touché.
J'ai également ajouté onOptionsItemselected, mais encore une fois, rien ne se passe.

J'ai donc testé plus de choses.
1) J'ai retiré le tiroir et j'utilise simplement le

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Résultats: bouton Retour sur les fragments A et B et cela fonctionne.

2) Utiliser le tiroir, mais PAS changer le result.getActionBarDrawerToggle (). SetDrawerIndicatorEnabled (false);
lors du chargement du fragment B
Résultat: l'icône Hamburguer sur les fragments A et B

3) Définition de getSupportActionBar (). SetDisplayHomeAsUpEnabled (true); au lancement de l'Application,
et result.getActionBarDrawerToggle (). setDrawerIndicatorEnabled (false); lors du chargement du fragment B
Résultat: hamburguer sur le fragment A, rien ne s'affiche sur le fragment B

Je ne sais pas ce qui se passe ici ...

@gpulido, veuillez lire ce qui suit concernant ce comportement

https://github.com/mikepenz/MaterialDrawer/issues/65

Merci

Vous devez d'abord initialiser la barre d'outils:

Toolbar toolbar = (Toolbar) findViewById (R.id.toolbar);

setSupportActionBar (barre d'outils);

puis appelez le bouton de retour depuis actionBar:

getSupportActionBar (). setDisplayHomeAsUpEnabled (true);

getSupportActionBar (). setDisplayShowHomeEnabled (true);

@Passer outre
public booléen onSupportNavigateUp () {
onBackPressed ();
retourne vrai;
}

Cette page vous a été utile?
0 / 5 - 0 notes