原創文章,轉載請注明出處,謝謝!
本篇主要介紹Android開發中,通過XML資源文件來設置控件在不同狀態下的背景及文字顏色。關於xml改變背景及文字顏色的原理,大家可以去看一下郭霖大神的源碼分析文章,
傳送門:Android視圖狀態及重繪流程分析,帶你一步步深入了解View(三)
這部分內容不難理解,但是很容易忘記,並且網上相關的文章都比較零散,沒有進行匯總。所以才有了我寫這篇博客的初衷,給自己作一個詳細總結,也給新手開發者一點幫助,老鳥
飄過。
一、通過xml文件給控件設置邊框,圓角,漸變色
作為Android開發者,我們很多時候做開發並沒有美工的支持,這時候我們需要設計一些相對比較漂亮的界面效果,就需要借助於android為我們提供的原始設計界面的方式,通過xml。
以下分別是不同情況下的設計方式和基本原理,請注意詳細的代碼注釋。
1.設置邊框,見下圖:


2.設置單邊和不同顏色的多邊框:


3.設置圓角:


4.設置漸變色:


二、給控件設置在不同狀態下的背景色或背景圖片
1.設置不同狀態背景色

未點擊 點擊下

2.不同狀態下的背景圖片:

未點擊 點擊


3.不同狀態背景與邊框,圓角等相結合



三.不同狀態下的文字顏色
給文字定義在不同狀態下的顏色時,同樣是使用selector這個TAG,但是與背景顏色定義不同的是:
文字顏色在selector使用的是color屬性,而背景顏色使用的是drawable屬性。
例如:

!!!注意:定義文字顏色的selector文件可以放在drawable文件夾下,引用時使用@drawable/selector.xml
可以在res下新建一個color文件夾,專門存放文字顏色的selector文件(個人強烈推薦此種方式,容易區分文字顏色和背景),
此時引用時要使用@color/selector.xml
見下圖:

好了,到此為止,基本上把Android中通過xml來改變控件背景色和文本顏色的相關知識說完了。相信讀者看了這篇文章,應改對
xml定義顏色有了一個非常清晰的認識。
由於作者水平所限,如果有任何問題,歡迎隨時交流。
