咱們在作控件的時候能夠使用tint這個屬性給控件上色,這樣在不少狀況下能減小不一樣色彩的資源色彩。在MD設計中,控件顏色隨着主體改變也是一大要點,今天咱們就來看看如何使用它。segmentfault
使用步驟:1.創建一個控件;2.使用ViewCompat.setBackgroundTintListspa
// 第一種實現 ColorStateList cl = new ColorStateList(new int[][]{new int[0]}, new int[]{0xffffcc00}); ViewCompat.setBackgroundTintList(pasteEt, cl); // 第二種實現 ViewCompat.setBackgroundTintList(pasteEt, getResources().getColorStateList(R.color.red));
這裏的colorstateList是什麼東西呢,若是作過屬性定製的同窗必定見過它,它就是一個color的xml文件,這裏的color我用了最簡單的定義方式:設計
<color name="red">#ff0000</color>
咱們有時候還會像selector同樣定義不一樣狀態下的顏色,最終這些xml文件最終解析轉爲的東西就是colorStateList對象啦,這個對象保存了狀態和不一樣狀態下的演示值。code
參考自:xml
http://segmentfault.com/a/1190000003038675?utm_source=Weibo&utm_medium=shareLink&utm_campaign=socialShare對象
http://stackoverflow.com/questions/27735890/lollipops-backgroundtint-has-no-effect-on-a-buttonblog