nouveau ActionBarDrawerToggle lors de l'utilisation de AppCompatActivity
Aujourd'hui, Google a mis à jour le AppCompat de la bibliothèque à la version 22.1.0, et nous pouvons maintenant utiliser AppCompatActivity
au lieu de ActionBarActivity
.
Cela signifie que nous n'avons plus besoin d'avoir un Toolbar
vue au sein de notre activité de mise en page.
Le problème est que dans le but de créer un Tiroir bouton bascule, je ne peux pas utiliser new ActionBarDrawerToggle
plus, parce qu'il s'attend à un Toolbar
paramètre, qui n'existent pas.
Comment suis-je censé ajouter le bouton à bascule de l'ActionBar maintenant?
source d'informationauteur Guilherme
Vous devez vous connecter pour publier un commentaire.
Une solution possible
Activité:
Mise en page:
Style :
Il est important que votre application hériter de la AppCompat thème.
Si vous avez remplacé l'actionbar par une barre d'outils n'oubliez pas de remettre l'actionbar en supprimant cette ligne dans le styles.xml :
Gradle :
J'ai mis ce code sur github : https://github.com/bbouabou/AppCompatActivity-With-ActionBarDrawerToggle .
Comme par officiel docsle
ActionBarDrawerToggle
classe à partir de v7 dispose d'une barre d'outils indépendants constructeur:Cela va fonctionner avec la valeur par défaut
ActionBar
fournis paractivity
. Alors, comme toujours, soit:new ActionBarDrawerToggle(...)
;.NoActionBar
thème, instancier/gonfler unToolbar
objet, et de l'appelernew ActionBarDrawerToggle(..., Toolbar t, ...)
Me semble que rien n'a changé avec le
ActionBarActivity
refactoring.Si vous utilisez Android Studio de Navigation par défaut Tiroir de configuration, puis j'ai trouvé le succès en changeant
NavigationDrawerFragment.java
'sActionBarDrawerToggle
classe dev4
àv7
dans leimport
instruction et l'omission de laToolbar
argument de laActionBarDrawerToggle
constructeur.Je ne pouvais pas trouver un moyen d'utiliser le AppCompatActivity de la barre d'outils par défaut, de sorte que la solution de contournement que j'ai utilisé était d'utiliser le
Theme.AppCompat.NoActionBar
thème et ajouter manuellement la barre d'outils pour le XML comme je le faisais avant.