ActionBar上的Menu的字體顏色設置

一樣是在最近的項目中,須要在ActionBar上增長一個menu,可是這個menu上顯示的字體的顏色倒是默認是黑色的,看起來很不爽,須要改爲白色的,主要仍是從樣式入手,仍是先看一下默認的主題android

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <!-- ActionBar上的titel的字體顏色 -->
        <item name="titleTextColor">@color/white</item>
    </style>
</resources>

這裏顯示的效果是:字體

這裏默認使用的主題是Theme.AppCompat.Light,致使了Munu的字體是黑色的,如是使用的是Theme.AppCompat.Light.DarkActionBar的話,能夠直接使Menu的字體設置成白色,可是因爲主題已經事先在項目中使用了,這裏就須要改這個Menu的字體顏色。code

其實這個也是很簡單的,只要在主題中增長一個屬性就行了,以下:blog

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <!-- ActionBar上的titel的字體顏色 -->
        <item name="titleTextColor">@color/white</item>
        <!-- ActionBar上Menu的字體顏色 -->
        <item name="actionMenuTextColor">@color/white</item>
    </style>
</resources>

話說,這麼簡單的就一個屬性的事,怎麼要寫出來呢,由於在網上找了不少資料,都不能用,而後本身就手動的從Theme.AppCompat.Light這個主題裏,一點一點的找到的。it

  1. 先點進到Theme.AppCompat.Light這個主題,它的父主題是Base.Theme.AppCompat.Light
  2. 再點到Base.Theme.AppCompat.Light這個主題裏,它的父主題是Base.V7.Theme.AppCompat.Light
  3. 這回在這個Base.V7.Theme.AppCompat.Light的主題裏就有具體樣式了,在衆多樣式中,有一個註釋<!-- Action Bar Styles -->,看名字就知道了,下面的內容就是ActionBar的樣式了
  4. 在ActionBar的樣式裏,找到了<item name="actionMenuTextColor">?android:attr/textColorPrimaryDisableOnly</item>,而後把這個屬性加到本身的主題裏,設置成@color/white就行了
相關文章
相關標籤/搜索