1. 程式人生 > >Android Toolbar作為ActionBar時更改Title和Overflow Icon的顏色

Android Toolbar作為ActionBar時更改Title和Overflow Icon的顏色

想使用Toolbar來作為Android應用程式的ActionBar。

Style.xml如下

<resources>

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

</resources>

顯示效果如下:


可以看到Title和Overflow Icon的顏色非常不協調。嘗試進行修改。

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/material_blue_500</item>
        <item name="colorPrimaryDark">@color/material_blue_700</item>
        <item name="android:textColorPrimary">#FFFFFF</item>
        <item name="android:textColorSecondary">#FFFFFF</item>
        <item name="colorAccent">@color/material_green_A200</item>
    </style>

效果如下:


看起來還不錯,但是有一個問題:點選Overflow Icon的時候彈出的Menu顏色會變成這樣:


非常的難看。

查找了很多的資料,最後在 這篇部落格 找到了解決方案。Thank you,Murray.

在Toolbar的佈局檔案中加入這樣一句:

<pre name="code" class="html">app:popupTheme="@style/Theme.AppCompat.Light"
Murray說如果沒用Support包的話變成:
android:popupTheme="@style/Theme.AppCompat.Light"


問題解決,上圖。