web-dev-qa-db-fra.com

Style de barre d'outils sombre AppCompat v21

Je veux que ma barre d'outils serve de barre d'action et je veux qu'elle ressemble à un thème clair avec une barre d'action sombre. Je n'arrive pas à trouver la bonne combinaison pour le faire.

C'est ce que j'ai dans styles.xml

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">

    <item name="windowActionBar">false</item>

    <item name="colorPrimary">@color/my_awesome_color</item>
    <item name="Android:textColorPrimary">@color/my_awesome_text_color</item>
    <item name="colorPrimaryDark">@color/my_awesome_darker_color</item>
    <item name="colorAccent">@color/accent</item>

</style> 

Et ma barre d'outils

 <Android.support.v7.widget.Toolbar
    Android:id="@+id/my_awesome_toolbar"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:background="?attr/colorPrimary"
    Android:minHeight="?attr/actionBarSize" />

Actuellement, je reçois ce

enter image description here

Ce que je veux, c'est que les éléments du menu soient également blancs

Existe-t-il une solution élégante ou dois-je choisir un style personnalisé pour chacun des éléments de la barre d'outils? Il semble qu'il devrait y en avoir.

22
Yoni Levy

Vous pouvez utiliser le thème suivant sur votre barre d'outils pour qu'il apparaisse "sombre". La première portion app:theme définit la couleur du texte de la barre d'outils pour qu'elle soit claire entre autres. Le app:popupTheme permet de donner un style clair à l'indicateur de menu de débordement.

<Android.support.v7.widget.Toolbar
    Android:layout_height="wrap_content"
    Android:layout_width="match_parent"
    Android:minHeight="@dimen/triple_height_toolbar"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
63
MrEngineer13

Je suis sûr que je suis un peu en retard, mais pour cela, ajoutez dans votre thème:

<item name="Android:textColorSecondary">my_awesome_text_color</item>