Ajouter un bouton de retour à la barre d'action
J'ai essayé d'ajouter un bouton à la barre d'action.
Je veux mon avis, pour ressembler à ceci:
Je tiens à ajouter le bouton de retour dans la gauche de la barre d'action.
J'ai ajouté ce code
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
mais ça ne fonctionne pas.
Comment puis-je résoudre ce problème?
Up
bouton il pas de même avecback
bouton. Et je pense ajouter un bouton de retour est anti Android motif- La capture d'écran d'un iPhone. Android ne fonctionne pas sur ce type de périphériques. Android dispose de son propre bouton de retour, toujours disponible pour l'utilisateur; vous n'avez pas besoin de les mettre dans la barre d'action.
- De nombreuses applications d'aujourd'hui (2014) mettre un arrière/bouton dans l'actionbar (eg. Instagram) j'ai donc même si c'est un antipattern.. C'est clairement un besoin des utilisateurs (peut-être les utilisateurs de l'iPhone voir plus d'avantage sur ce sujet)
- veuillez consulter cette réponse
InformationsquelleAutor haythem souissi | 2012-08-22
Vous devez vous connecter pour publier un commentaire.
Après la mise
actionBar.setHomeButtonEnabled(true);
Ajoutez le code suivant:
menuItem == android.R.id.home
avant de prendre une action (généralement dans une instruction switch avec les autres options pour cette activité ou fragment). Pour l'API >= 16, vous pouvez aussi tout simplement les définir le parent de l'activité dans le manifestegetSupportActionBar()
au lieuAjouter
et puis ajouter l'
Comme suggéré par naXa j'ai ajouté une case sur la
itemId
, pour qu'il fonctionne correctement dans le cas où il y a plusieurs boutons sur la barre d'action.onOptionsItemSelected()
trop, donc nous avons besoin de vérifiermenuItem.getItemId() == android.R.id.home
cette une a fonctionné pour moi:
La méthode onSupportNavigateUp() est appelée lorsque vous utilisez le bouton retour dans le SupportActionBar.
onSupportNavigateUp()
est je pense la meilleure méthode pour le faire.... MerciAprès la mise
Vous devez configurer le parent de l'activité de votre AndroidManifest.xml
Regardez ici pour plus d'informations http://developer.android.com/training/implementing-navigation/ancestral.html
Il y a deux façons d'aborder cette.
Option 1: mise à Jour de l'Android Manifeste
Si les paramètres de l'Activité est toujours appelée de la même activité, vous pouvez faire de la relation dans le Manifeste Android. Android va automatiquement afficher le bouton "retour" dans l'ActionBar
Option 2: Modifier un paramètre pour l'ActionBar
Si vous ne savez pas quelle Activité va appeler les Paramètres de l'Activité, vous pouvez le créer comme ceci. Tout d'abord dans votre activité qui s'étend ActionBarActivity (assurez-vous que votre @importations de faire correspondre le niveau de compatibilité que vous cherchez).
Puis, détecter le bouton de retour " presse et dire Android, pour fermer l'Activité ouverte.
Qui devrait le faire!
Vous aurez besoin de vérifier
menuItem.getItemId()
contreandroid.R.id.home
dans leonOptionsItemSelected
méthodeDouble de Android Sherlock ActionBar bouton
Plus simple et mieux:
Pour l'API >= 16
Simplement ajouter "parentActivityName" pour chaque activité dans le Manifeste. Le bouton précédent permet de prendre automatiquement le u à l'activité parent.
L'utiliser pour montrer bouton de retour et passer à l'activité précédente,
Tout d'abord Utiliser ceci:
Alors l'opération de l'ensemble de clic de bouton dans
onOptionsItemSelected
méthode@Override public boolean onCreateOptionsMenu(Menu menu) { return super.onCreateOptionsMenu(menu); }
case android.R.id.home:
n'est pas appelé tout soupçon ?si quelqu'un d'autre ont besoin de la solution
Ajouter cette ligne dans onCreate() la méthode
alors Remplacer cette méthode