2015-08-05 4 views
1

Обычно ItemTextColor и ItemIconTint будут меняться на android: colorPrimary, а затем отмечен, но почему он изменился на белый (основной цвет Theme.AppCompat) вместо обычного пользовательского основного цвета?Цвет NavigationView при проверке

style.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:colorPrimary">@color/color_primary</item> 
    <item name="android:colorPrimaryDark">@color/color_primary_dark</item> 
    <item name="android:colorAccent">@color/color_accent</item> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
</style> 

<color name="color_primary">#3F51B5</color> 
<color name="color_primary_dark">#303F9F</color> 
<color name="color_accent">#FF4081</color> 

activity_main.xml:

<android.support.design.widget.NavigationView 
    android:id="@+id/navigation" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:orientation="vertical" 
    android:fitsSystemWindows="true" 
    app:headerLayout="@layout/layout_drawer" 
    app:menu="@menu/menu_drawer" /> 

ответ

1

AppCompat темы использует colorPrimary и связанные с ними атрибуты без префикса android:. Поэтому, если вы измените свой стиль.xml на следующий, он должен работать. (Или, по крайней мере, так оно и работает для меня.)

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/color_primary</item> 
    <item name="colorPrimaryDark">@color/color_primary_dark</item> 
    <item name="colorAccent">@color/color_accent</item> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
</style> 

<color name="color_primary">#3F51B5</color> 
<color name="color_primary_dark">#303F9F</color> 
<color name="color_accent">#FF4081</color> 
Смежные вопросы