2015-07-19 3 views
7

Хорошо, я знаю, что это тривиальная проблема, но по какой-то причине она не работает для меня. Я сделал много вещей, предложенных в других ответах, но напрасно. Моя выпадающая папка имеет значки белого цвета. Я даже пытался изменить его из styles.xml, но это тоже не работает. Я тестирую его на своем устройстве Lollipop. Любая помощь будет оценена. Заранее спасибо.Невозможно изменить цвет значка навигационного ящика в android

Это часть моего файла манифеста.

<application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_drawer" 
     android:label="@string/app_name" > 
     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" 
      tools:replace="android:value" /> 

     <activity 
      android:name=".Activity_Splash" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
       android:name=".Activity_test" 
       android:launchMode="singleInstance" 
       android:theme="@style/AppTheme.Base" 
       android:windowSoftInputMode="stateHidden" /> 

И, наконец, это мой стиль.xml. Аналогично для v-21.

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="android:windowContentTransitions">true</item> 
     <item name="android:windowAllowEnterTransitionOverlap">true</item> 
     <item name="android:windowAllowReturnTransitionOverlap">true</item> 
     <item name="android:actionMenuTextColor">#fff</item> 
     <item name="colorPrimary">@color/ColorPrimary</item> 
     <item name="colorPrimaryDark">@color/ColorPrimaryDark</item> 
     <item name="drawerArrowStyle">@style/MyDrawerArrowToggle</item> 
     <item name="windowActionBar">false</item> 
     <item name="colorAccent">#fff</item> 
     <item name="android:windowSharedElementEnterTransition">@android:transition/move</item> 
     <item name="android:windowSharedElementExitTransition">@android:transition/move</item> 
</style> 
+0

Какой цвет вы хотите, и какой цвет это сейчас? – srka

+0

Я хочу, чтобы он был белым. Сейчас он черный. – varunkr

ответ

9

В качестве стиля панели инструментов вы должны использовать ThemeOverlay.AppCompat.Dark.ActionBar. Он устанавливает colorControlNormal в android:textColorPrimary, который является белым для темных тем. И это не меняет других атрибутов из основного стиля.

<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" > 
    ... 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
</android.support.v7.widget.Toolbar> 

Также удалить drawerArrowStyle из основного стиля, он не нужен.

6

Если вы используете библиотеку поддержки Design, вы можете изменить значок цвета с помощью app:itemIconTint свойства:

<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="left" 
    android:fitsSystemWindows="true" 
    android:theme="@style/AppTheme" 
    app:headerLayout="@layout/nav_header_main" 
    app:itemIconTint="#f00" 
    app:itemTextColor="#0f0" 
    app:menu="@menu/nav_drawer" /> 

В качестве бонуса, выше, также показывает, как изменить цвет текста с app:itemTextColor.

+1

Это должен быть правильный ответ – Hardik

Смежные вопросы