Tint(着色器)的兼容實現

咱們在作控件的時候能夠使用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

相關文章
相關標籤/搜索