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>