Modification de l'icône de la barre d'Action
Je suis actuellement à la mise en œuvre support de thème pour mon application, et une partie est en train de changer la barre d'action icône de l'application. Je veux utiliser un sombre icône lors de l'Holo Lumière est sélectionné. Tout est fait dans la méthode, sauf pour la partie où l'action de la barre d'icône de l'application est défini. Le code que je suis en train d'utiliser est:
getActionBar();
ActionBar.setIcon(R.drawable.my_icon);
"Il n'existe pas de référence disponible ici" est l'erreur que j'obtiens. Comment cela doit être fait correctement?
BTW mon minSdkVersion
est 14
donc pas de barre d'action Sherlock choses.
OriginalL'auteur SweSnow | 2012-07-28
Vous devez vous connecter pour publier un commentaire.
Vous lancez la barre d'action loin de là.
getActionBar()
retourne une instance deActionBar
, qui vous devez appelersetIcon()
. Comme:setIcon
est pris en charge dans l'API de niveau 14 et plus. Vous pouvez également définir l'ActionBar logo dans le fichier de manifeste, comme expliqué ici: stackoverflow.com/a/6351736/1182823Cette solution ne fonctionne pas lors de l'utilisation de prises en charge de la bibliothèque v7 où j'utilise getSupportActionBar(); - une suggestion? merci
OriginalL'auteur kcoppock
Si un peu en retard de réponse, mais j'ai pensé qu'il pourrait être utile.
De l'intérieur d'une activité:
Pour les API de niveau supérieure ou égale à 14:
Pour le bas niveau API, nous devons étendre ActionBarActivity et puis:
De l'intérieur d'un Fragment:
Pour les API de niveau supérieure ou égale à 14:
Pour le bas de l'API de niveau, nous pouvons utiliser (activité doit s'étendre ActionBarActivity):
Et dans les deux cas, nous devons faire appel setDisplayShowHomeEnabled(vrai) avant de régler l'icône ou un logo.
OriginalL'auteur Reaz Murshed
Vous devez ajouter le drawable que vous souhaitez pour référence dans votre
drawable/
dossier sousres/
.edit: Dans votre Android dossier d'installation il y a beaucoup de stock des images à utiliser. Vous pouvez probablement trouver là.
OriginalL'auteur trevor-e
L'existant réponse est très correct. Cependant, il est également une alternative.
Une approche minimale serait d'utiliser
getActionBar().setIcon(R.drawable.my_icon);
Obtient la réalisation de votre travail tout de suite. 🙂
Détails techniques: Depuis getActionBar() renvoie par défaut d'un objet, vous pouvez manipuler directement sans avoir à recevoir d'elle dans un objet de l'étendue de manière explicite.
OriginalL'auteur Sankalp Sharma
Appel à
setIcon
n'était pas assez pour moi.Avant, j'avais pour basculer l'affichage de l'activité du logo d'icône d'activité:
Pour les différences entre l'activité de l'icône et le logo de voir Android icône vs logo.
OriginalL'auteur Eran Friedman
J'utilise pour mon utilisation , et cela fonctionne pour moi. Espérons que cela aide tous
OriginalL'auteur Sagar Thakarar
Essayer cette
OriginalL'auteur Mohammed Javad