J'ai pu personnaliser l'arrière-plan de la barre d'action, l'image du logo et la couleur du texte en utilisant des suggestions parmi celles-ci:
Android: Comment changer l'icône ActionBar "Accueil" pour qu'elle soit autre chose que l'icône de l'application?
Couleur du texte
ActionBar Image d'arrière-plan ActionBar
La dernière pièce que je souhaite personnaliser est l'image du bouton de retour. C'est gris par défaut et je voudrais qu'il soit blanc. Changer la couleur, spécifier un dessin ou simplement le rendre transparent (et ajouter le chevron à mon image de logo personnalisée) fonctionnerait. Comment dois-je procéder?
android
android-actionbar
Sunil Gowda
la source
la source
setDisplayHomeAsUpEnabled()
surActionBar
. Il n'est pas spécifiquement censé retourner simplement "en arrière". Cela signifie que le fait d'appuyer sur l'icône de l'application "montera" dans une hiérarchie plutôt que de revenir à l'activité précédente (comme le fait le bouton RETOUR sur la barre système).Réponses:
L'indicateur d'affordance "up" est fourni par un dessinable spécifié dans l'
homeAsUpIndicator
attribut du thème. Pour le remplacer par votre propre version personnalisée, ce serait quelque chose comme ceci:Si vous prenez en charge la version antérieure à 3.0 avec votre application, assurez-vous de mettre cette version du thème personnalisé
values-v11
ou similaire.la source
<item name="android:homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
n'a pas fonctionné pour moi, mais a<item name="homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
fait. Je suppose que c'est la version AndroidNavigation Drawer
? Je suppose qu'ilActionBarDrawerToggle
remplace l'indicateur up par l'un des siens, donc le mettre sur le style n'a aucun effet ...Vous pouvez donc le modifier facilement par programme en utilisant la fonction homeAsUpIndicator () qui a été ajoutée dans l'API Android niveau 18 et supérieur.
ActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
Si vous utilisez la bibliothèque de support
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
la source
drawerToggle.setDrawerIndicatorEnabled(false);
avant de changer l'indicateurJ'ai vérifié la question. Voici les étapes que je suis. Le code source est hébergé sur GitHub: https://github.com/jiahaoliuliu/sherlockActionBarLab
Remplacez le style actuel des appareils antérieurs à la v11.
Copiez et collez le code suivant dans le fichier styles.xml du dossier des valeurs par défaut.
Notez que le parent peut être remplacé par n'importe quel thème Sherlock.
Remplacez le style actuel des appareils v11 +.
Dans le même dossier où se trouvent les valeurs du dossier, créez un nouveau dossier appelé values-v11. Android recherchera automatiquement le contenu de ce dossier pour les appareils dotés d'une API ou supérieure.
Créez un nouveau fichier appelé styles.xml et collez le code suivant dans le fichier:
Notez que le nom du style doit être le même que le fichier dans le dossier des valeurs par défaut et qu'au lieu de l'élément homeAsUpIndicator, il s'appelle android: homeAsUpIndicator.
Le problème de l'élément est dû au fait que pour les appareils dotés de l'API 11 ou supérieure, la barre d'action Sherlock utilise la barre d'action par défaut fournie avec Android, dont le nom de clé est android: homeAsUpIndicator. Mais pour les appareils dotés de l'API 10 ou inférieure, Sherlock Action Bar utilise sa propre ActionBar, dont l'indicateur d'accueil en tant qu'indicateur de haut niveau est appelé simple «homeAsUpIndicator».
Utilisez le nouveau thème dans le manifeste
Remplacez le thème de l'application / activité dans le fichier AndroidManifest:
la source
La modification de l'icône de navigation arrière diffère pour ActionBar et Toolbar.
Pour l'
homeAsUpIndicator
attribut de remplacement ActionBar :Pour l'
navigationIcon
attribut de remplacement de la barre d'outils :la source
J'ai fait le code ci-dessous
onCreate()
et travaillé avec moila source
Si vous utilisez la barre d'outils, vous n'avez pas besoin de ces solutions. Il vous suffit de changer le thème de la barre d'outils
Si vous utilisez une dark.actionBar, votre bouton de retour sera blanc sinon si vous utilisez le thème de la barre d'action claire, il sera noir.
la source
plateau ceci:
à l'intérieur
onCreate()
;la source
J'ai utilisé l'image back.png dans le fichier menifest.xml du projet. c'est bien de travailler en projet.
la source
J'ai eu le même problème de direction de l'icône du bouton Accueil de la barre d'action, à cause d'une mauvaise gestion de l'icône dans l'icône du répertoire Gradle Resource
comme dans le répertoire de ressources en arabe Gradle, vous mettez l'icône dans x-hdpi et dans la ressource en anglais Gradle, même nom d'icône que vous avez mis dans un dossier de densité différente comme xx-hdpi, de sorte que dans l'APK, il y ait deux mêmes noms d'icône dans différents répertoires, donc votre appareil sélectionnera l'icône dépendant de la densité peut être RTL ou LTR
la source