Je teste les nouvelles fonctionnalités de Material Design d'Appcompat 21. Par conséquent, j'ai créé une barre d'outils comme celle-ci:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_my_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/>
et je l'ai inclus dans mon fichier de mise en page principal.
Ensuite, je l'ai défini comme supportActionBar comme ça:
Toolbar toolBar = (Toolbar)findViewById(R.id.activity_my_toolbar);
setSupportActionBar(toolBar);
Cela fonctionne, mais je n'arrive pas à comprendre comment personnaliser la barre d'outils. C'est gris et le texte dessus est noir. Comment changer la couleur du fond et du texte?
J'ai suivi ces instructions:
http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html
Qu'ai-je supervisé pour changer de couleur?
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:windowActionBar" tools:ignore="NewApi">false</item>
<item name="windowActionBar">false</item>
</style>
MODIFIER :
J'ai pu changer la couleur d'arrière-plan en ajoutant ces lignes de code au thème:
<item name="colorPrimary">@color/actionbar</item>
<item name="colorPrimaryDark">@color/actionbar_dark</item>
Mais ils n'affecteront pas la couleur du texte. Qu'est-ce que je rate? Au lieu du texte noir et du bouton de menu noir, je préfère un texte blanc et des boutons de menu blancs:
la source
Réponses:
encore une fois, tout est dans le lien que vous avez fourni
pour changer le texte en blanc, tout ce que vous avez à faire est de changer le thème.
utiliser ce thème
la source
AppCompatActivity
au lieu deActivity
.MISE À JOUR 12/11/2019: Bibliothèque de composants de matériaux
Avec les composants de matériaux et les bibliothèques Androidx, vous pouvez utiliser:
l'
android:background
attribut dans la mise en page:appliquer le style par défaut:
style="@style/Widget.MaterialComponents.Toolbar.Primary"
ou personnaliser le style qui en hérite:remplacer la couleur par défaut à l'aide de l'
android:theme
attribut:avec:
ANCIEN: bibliothèques de support:
vous pouvez utiliser un
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
thème comme suggéré dans d'autres réponses, mais vous pouvez également utiliser une solution comme celle-ci:Et vous pouvez avoir le contrôle total de vos éléments d'interface utilisateur avec ces styles:
la source
Hé, si vous souhaitez appliquer le thème Material pour Android 5.0 uniquement, vous pouvez y ajouter ce thème
La ligne ci-dessous est responsable de la couleur du texte de la barre d'action de la conception matérielle.
la source
Vous pouvez définir dynamiquement une couleur d'élément de barre d'outils personnalisée en créant une classe de barre d'outils personnalisée:
puis reportez-vous-y dans votre fichier de mise en page. Vous pouvez maintenant définir une couleur personnalisée en utilisant
Sources:
J'ai trouvé les informations pour le faire ici: Comment changer dynamiquement la couleur des icônes de la barre d'outils Android
puis je l'ai édité, amélioré et posté ici: GitHub: AndroidDynamicToolbarItemColor
la source
C'est ce qu'on appelle une DarkActionBar, ce qui signifie que vous devez utiliser le thème suivant pour obtenir le style souhaité:
la source
Vous pouvez changer la couleur du texte dans la barre d'outils avec ceux-ci:
la source
Réalisez ceci en utilisant ce qui
toolbar
suit:la source
Essayez ceci dans votre styles.xml:
colorPrimary sera la couleur de la barre d'outils.
Avez-vous construit cela dans Eclipse au fait?
la source
J'ai résolu ce problème après plus d'études ...
pour Api21 et plus
pour les versions inférieures utiliser
la source
Si vous souhaitez modifier la couleur de votre barre d'outils dans l'ensemble de votre application, utilisez le fichier styles.xml. En général, j'évite de modifier les composants de l'interface utilisateur dans mon code java à moins que j'essaie de faire quelque chose par programme. S'il s'agit d'un ensemble unique, vous devriez le faire en xml pour rendre votre code plus propre. Voici à quoi ressemblera votre styles.xml:
Assurez-vous d'utiliser le style ci-dessus dans votre AndroidManifext.xml en tant que tel:
Je voulais différentes couleurs de barre d'outils pour différentes activités. J'ai donc à nouveau exploité des styles comme celui-ci:
encore une fois, appliquez les styles à chaque activité dans votre AndroidManifest.xml en tant que tel:
la source
Pour les personnes qui utilisent AppCompatActivity avec la barre d'outils en arrière-plan blanc. Utilisez ce code.
Mise à jour: décembre 2017
la source