2016-03-08 84 views
1
<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="wrap_content" 
    android:background="@color/purple2" 
    android:minHeight="56dp" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    app:titleTextAppearance="@style/ToolbarTitle" /> 

在我的Nexus 6,後退按鈕是白色的,3點菜單是白色的,標題爲白色。在我運行的模擬器上,API級別14標題爲白色,但後退箭頭和點菜單爲黑色。怎麼來的?如果現在Android的工具欄白VS黑

+0

這與** CSS **有關嗎?您可能對這些API級別有不同的主題。 – m02ph3u5

+0

您正在使用哪種設計支持庫?哪個版本? – W0rmH0le

+0

compile'c​​om.android.support:appcompat-v7:23.2.0'compile'c​​om.android.support:design:23.2.0' – user3278732

回答

1

我可以通過檢查下面的解決方案來解決類似的問題。我發佈了這個相同的解決方案HERE

我發現程序兼容性主題是使用下面的資源溢出按鈕(3點):abc_ic_menu_overflow_material.xml這個資源的

內容是:

<vector xmlns:android="http://schemas.android.com/apk/res/android" 
     android:width="24dp" 
     android:height="24dp" 
     android:viewportWidth="24.0" 
     android:viewportHeight="24.0" 
     android:tint="?attr/colorControlNormal"> 
    ... 
</vector> 

所以,你可以看到,它使用colorControlNormal和vectorDrawables

如何解決

根據溴化鋰元V23.2.0發行說明(LINK HERE),我們必須更新的build.gradle以支持添加到載體:

的build.gradle

添加以下行到您的構建gradle這個

搖籃2.0(我沒有測試過):

android { 
    defaultConfig { 
     vectorDrawables.useSupportLibrary = true 
    } 
} 

搖籃1.5(我使用這個..它的工作原理):

android { 
    defaultConfig { 
     generatedDensities = [] 
    } 

    aaptOptions { 
     additionalParameters "--no-version-vectors" 
    } 
} 

修復你的主題

也許,則不需要此步驟(因爲也許,你的父母已主題設置顏色爲白色)。

但如果這些按鈕保持黑色,你必須添加ColorControlNormal你的主題:

ToolbarLayout

<android.support.v7.widget.Toolbar 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    ... 
    android:theme="@style/MyToolBarStyle" 
    ... /> 

styles.xml

<style name="MyToolBarStyle" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> 
    <item name="colorControlNormal">@color/white</item> 
</styel> 

這是怎麼定我的問題。

1
defaultConfig { 
    applicationId "com.myapp.app" 
    minSdkVersion 10 
    targetSdkVersion 22 
    multiDexEnabled true 
    versionCode 25 
    versionName "1.24" 
    generatedDensities = [] 
} 
// This is handled for you by the 2.0+ Gradle Plugin 
// This is handled for you by the 2.0+ Gradle Plugin 
aaptOptions { 
    additionalParameters "--no-version-vectors" 
} 

這解決的情況對我的2臺設備,不知道在所有設備使用相同的故事。