2017-10-08 72 views
3

編輯:我剛剛意識到它實際上不是重音顏色。我嘗試改變口音的顏色,並在其他地方改變時,我的導航項目的顏色保持粉紅色。我只是認爲這是重音的顏色,因爲它與它相似。現在我不知道顏色來自哪裏。導航抽屜項目是粉紅色而不是黑色只在Android 8

我剛剛注意到在我的應用程序在Android上運行8時,導航抽屜項目是強調色,而不是被黑

在Android的7,他們仍然是黑色的,只有Android的8,這是不同的。另外,在Android Studio中查看設計預覽時,它會將它們顯示爲API 26(Android 8)的黑色,但運行時它是重音顏色。

以下是演示該問題,一些圖片:

這就是它看起來像在Android Studio中的設計預覽和8之前的版本: enter image description here

而在Android上8:

enter image description here

請注意,主要顏色仍然工作時,項目是活動的(這是我想要的),但如果我嘗試改變圖標的​​色調或te xt將其變爲黑色時,它不再能夠在活動時變爲主要顏色,因此不能用作解決方法。

styles.xml

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
    </style> 

    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 

    </style> 

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

</resources> 

colors.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="colorPrimary">#F44336</color> 
    <color name="colorPrimaryDark">#D32F2F</color> 
    <color name="colorAccent">#FF4081</color> 

</resources> 

XML進行導航活動

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 

    <include 
     layout="@layout/app_bar_main_nav" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main_nav" 
     app:menu="@menu/activity_main_nav_drawer" /> 

</android.support.v4.widget.DrawerLayout> 

沒有人有任何想法,爲什麼這可能發生?

+0

您可以添加style.xml和color.xml文件 –

+0

對不起,應該包括那些開頭。現在包括。 – procinct

+0

看起來正確。你可以清理你的構建,卸載應用程序並運行它。 –

回答

3

好吧,我設法解決了它。事實證明,我使用的依賴關係爲api level 23的主題,並且他們在Android 8中打破了。通過升級我的依賴項,目標SDK和編譯SDK版本爲26來解決此問題。

+0

千分感謝分享這些信息,我使用這個解決方案解決了我的問題,我使用Sublimenavigationview,它僅在Android Oreo中顯示粉紅色的項目。但在更新編譯SDK到26和它解決的依賴項後。 – Mohtashim