修改Material風格的主色值

support-v7-appcompat包在開發過程中,可能會涉及到修改控件顏色的地方

比如修改Edittext的背景色、RadioButton的對應狀態色值等等

在安卓5.0以後,Material風格的主色值有以下兩種

<color name="material_deep_teal_200">#ff80cbc4</color>
<color name="material_deep_teal_500">#ff009688</color>

分別對應了亮色主題和暗色主題

而打開extras\android\support\v7\appcompat\res\drawable-xhdpi項目下的資源文件,我們會發現,所有的資源圖片主色調都是黑色,比如abc_btn_radio_to_on_mtrl_015.png

這裏寫圖片描述

這是由於Theme下的colorAccent屬性發揮了作用,系統會將默認的資源圖片的黑色部分使用colorAccent聲明的顏色來進行替換,知道了原理後,我們就可以針對這一特性進行快速修改控件顏色的操作了,在項目找到style.xml文件,在其聲明的AppTheme內部加入代碼如下

    <!-- Base application theme -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        ...
        <!-- 程序風格主色值 -->
        <item name="colorAccent">@color/blue</item>
        ...
    </style>

這樣,即可達到修改Material風格的主色值的目的了,修改後的效果如圖所示:

這裏寫圖片描述

  • Toolbar部分的顏色改變可以使用以下代碼來改變
        <!--狀態欄顏色 -->
        <item name="colorPrimary">@color/blue</item>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章