2017-09-20 5 views
0

J'ai essayé pendant plusieurs jours de résoudre un problème où plusieurs de mes éléments d'interface utilisateur dans ma barre d'outils sont de la mauvaise couleur. Si vous jetez un oeil à l'image ci-dessous vous pouvez voir ce que je veux dire:Comment régler textColorSecondary sur le thème de la barre d'outils

enter image description here

Les éléments qui devraient être blanc sont noirs et je ne peux pas comprendre comment résoudre ce problème à travers mon thème.

Voici mon themes.xml (SRY le désordre là-dedans, mais thématisation est vraiment difficile):

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.GuidelinesCompat.Light.DarkToolbar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:windowBackground">@color/colorBackground</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:windowActionModeOverlay">true</item> 
    <item name="toolbarStyle">@style/AppTheme.NoActionBar.ToolbarStyle</item> 
    <item name="actionModeStyle">@style/AppTheme.NoActionBar.ActionModeStyle</item> 
    <item name="searchViewStyle">@style/AppTheme.NoActionBar.SearchViewStyle</item> 
    <!--<item name="android:actionModeBackground">@color/bg_action_mode</item>--> 
    <!--<item name="android:textColorSecondary">@color/white</item>--> 

</style> 

<style name="AppTheme.ActionBar"> 
    <item name="android:windowActionModeOverlay">true</item> 
</style> 

<!-- Base toolbar theme. --> 
<style name="AppTheme.NoActionBar.ToolbarStyle" parent="Widget.GuidelinesCompat.Toolbar"> 
    <item name="titleTextAppearance">@style/AppTheme.NoActionBar.ToolbarTitleTextAppearance</item> 
</style> 

<style name="AppTheme.NoActionBar.ToolbarTitleTextAppearance" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:textColorSecondary">@color/white</item> 
</style> 

<!-- Base Action Mode styles --> 
<style name="AppTheme.NoActionBar.ActionModeStyle" parent="Widget.GuidelinesCompat.ActionMode"> 
    <item name="background">@color/bg_action_mode</item> 
    <!--<item name="android:actionModeBackground">@color/bg_action_mode</item>--> 
    <!--<item name="android:actionOverflowButtonStyle">@style/ActionModeTitleTextStyle</item>--> 
    <!--<item name="statusBarColor">@color/grey_100</item>--> 
</style> 

<style name="ActionModeTitleTextStyle" parent="Widget.GuidelinesCompat.ActionButton.Overflow"> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:textColorSecondary">@color/white</item> 
</style> 

<style name="AppTheme.NoActionBar.SearchViewStyle" parent="Widget.AppCompat.SearchView"> 
    <!-- Sets the search icon --> 
    <item name="searchIcon">@drawable/ic_search_white_24dp</item> 
    <!-- Gets rid of the "underline" in the text --> 
    <!--<item name="queryBackground">@color/white</item>--> 
    <!-- Gets rid of the search icon when the SearchView is expanded --> 
    <!--<item name="searchHintIcon">@null</item>--> 
    <!-- The hint text that appears when the user has not typed anything --> 
    <!--<item name="queryHint">@string/menu_examination_search_hint</item>--> 
    <item name="android:textAppearance">@style/SearchViewTextAppearance</item> 
</style> 

<style name="SearchViewTextAppearance"> 
    <item name="android:textColorHint">@color/white</item> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:textColorSecondary">@color/white</item> 
</style> 

<!-- Theme applied to LoginActivity and SignUpActivity --> 
<style name="AppTheme.Login" parent="AppTheme.NoActionBar"> 
    <item name="android:windowBackground">@color/colorPrimary</item> 
    <item name="android:textColorHint">@color/iron</item> 
    <item name="android:textColorPrimary">@color/white</item> 
    <item name="colorControlNormal">@color/iron</item> 
    <item name="colorControlActivated">@color/white</item> 
    <item name="colorControlHighlight">@color/white</item> 
    <item name="colorButtonNormal">@color/colorPrimaryDarker</item> 
</style> 

<style name="AppTheme.NavigationView"> 
    <item name="android:textColorSecondary">@color/colorTextSecondary</item> 
</style> 

<!-- Theme applied to Textview in LoginActivity and SignUpActivity --> 
<style name="WhiteText" parent="@android:style/TextAppearance"> 
    <item name="android:textColor">@color/white</item> 
</style> 

<!-- Animations applied to dialog when entering or exiting --> 
<style name="DialogAnimation"> 
    <item name="android:windowEnterAnimation">@anim/slide_up</item> 
    <item name="android:windowExitAnimation">@anim/slide_down</item> 
</style> 

J'ai découvert que si je mets dans mon textColorSecondary AppTheme.NoActonBar toutes mes commandes sont correctement colorées en blanc, mais cela me donne des problèmes dans tous mes dialogues, qui ont maintenant textColorSecondary en blanc.

J'espère que quelqu'un là-bas peut me montrer une solution, parce que je suis à court d'idées.

Répondre

4

Essayez ceci here.

Dans votre mise en page de la barre d'outils:

<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/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:minHeight="?attr/actionBarSize" 
     app:theme="@style/ToolBarStyle" 
     app:popupTheme="@style/ToolBarPopupStyle" 
     android:background="@color/actionbar/> 

Dans vos styles:

<!-- ToolBar --> 
    <style name="ToolBarStyle" parent="Theme.AppCompat"> 
     <item name="android:textColorPrimary">@android:color/white</item> 
     <item name="android:textColorSecondary">@android:color/white</item> 
     <item name="actionMenuTextColor">@android:color/white</item>  
     <item name="actionOverflowButtonStyle">@style/ActionButtonOverflowStyle</item> 
     <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
</style> 
+0

Vous êtes l'homme :) fonctionne IT. Merci. Acceptera la réponse dans deux minutes. – Bohsen