L’icône ActionBarDrawerToggle () ne peut pas être définie sur la barre Action dans Android SDK 5

J’ai un problème simple à initialiser mon icône pour ma barre d’action. J’utilise Android SDK 5 et depuis android.support.v4.app.ActionBarDrawerToggle; a été obsolète. J’ai importé le support v7 et remplacé mon importation par ce qui suit: android.support.v7.app.ActionBarDrawerToggle; c’est-à-dire le même paquet avec v7.

Maintenant, lorsque DrawerLayout mon object ActionBarDrawerToggle à associer à mon object DrawerLayout importé de: import android.support.v4.widget.DrawerLayout; Je suis obligé de supprimer un argument qui semble correct (je ne sais pas pourquoi!). mais mon icône ne va pas dans mon ActionBar. Voici l’initialisation de mon object ActionBarDrawerToggle:

 mActionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer, R.ssortingng.drawer_open) { /** Called when a drawer has settled in a completely closed state. */ @Override public void onDrawerClosed(View view) { super.onDrawerClosed(view); invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() } /** Called when a drawer has settled in a completely open state. */ @Override public void onDrawerOpened(View view) { super.onDrawerOpened(view); invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() } }; 

J’ai l’image dans ma ressource, à savoir R.drawable.ic_drawer

Je n’arrive pas à trouver pourquoi mon icône n’apparaît pas dans la v7.

PS le code fonctionne parfaitement, en fait lorsque je repasse en import v4 et que j’ajoute l’argument supplémentaire pour l’initialisation de l’object bascule (devant être masqué avec la ligne de parcours horrible et dépréciée), l’icône apparaît mais pas dans la v7.

Merci d’avance 🙂

En fait, si vous examinez le javadoc de la nouvelle v7.ActionBarDrawerToggle, vous vous rendrez compte que la nouvelle classe ne fournit pas le constructeur, ce qui prend Drawable en tant qu’argument – le troisième argument pour lequel vous avez fourni votre Drawable est un ressource Ssortingng décrivant l’ouverture du tiroir. Si vous souhaitez définir une icône personnalisée, vous devez utiliser un autre constructeur ActionBarDrawerToggle:

 ActionBarDrawerToggle(Activity activity, DrawerLayout drawerLayout, Toolbar toolbar, int openDrawerContentDescRes, int closeDrawerContentDescRes) 

Dans ce cas, l’icône de navigation de la barre d’outils sera utilisée comme icône de tiroir.

Bien que v4.ActionBarDrawerToggle soit obsolète, vous pouvez utiliser une autre méthode pour modifier l’icône, par exemple ci-dessous:

 getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu_drawer);