轉(zhuǎn)自: https://developer.android.google.cn/guide/topics/resources/color-list-resource
顏色狀態(tài)列表資源
ColorStateList
是一個您可以在 XML 中定義的對象,您可以將其作為顏色來應(yīng)用,但它實際上會更改顏色,具體取決于其應(yīng)用到的 View
對象的狀態(tài)。例如,Button
微件可以處于多種不同狀態(tài)中的一種(按下、聚焦或既不按下也不聚焦),而使用顏色狀態(tài)列表,您可以為每種狀態(tài)提供不同的顏色。
創(chuàng)新互聯(lián)是一家專業(yè)提供
江門企業(yè)網(wǎng)站建設(shè),專注與
網(wǎng)站制作、成都網(wǎng)站建設(shè)、
HTML5、小程序制作等業(yè)務(wù)。10年已為江門眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。
您可以在 XML 文件中描述狀態(tài)列表。每種顏色都在單個
元素內(nèi)的
元素中定義。每個
使用不同的屬性描述其應(yīng)在什么狀態(tài)下使用。
在每次狀態(tài)更改期間,系統(tǒng)將從上到下遍歷狀態(tài)列表,并且將使用與當(dāng)前狀態(tài)匹配的第一項。系統(tǒng)的選擇并非基于“最佳匹配”,而僅僅是基于符合狀態(tài)的最低標準的第一項。
注意:如果要提供靜態(tài)顏色資源,請使用簡單的顏色值。
- 文件位置:
res/color/filename.xml
該文件名將用作資源 ID。- 編譯后的資源數(shù)據(jù)類型:
- 指向
ColorStateList
的資源指針。 - 資源引用:
- 在 Java 中:
R.color.filename
在 XML 中:@[package:]color/filename
- 語法:
-
- 元素:
- 必需。該元素必須是根元素。包含一個或多個
元素。屬性:
xmlns:android
- 字符串。必需。定義 XML 命名空間,該命名空間必須為
"http://schemas.android.com/apk/res/android"
。
- 定義在某些狀態(tài)下使用的顏色,狀態(tài)通過其屬性來描述。必須是
元素的子元素。屬性:
android:color
- 十六進制顏色。必需。顏色通過 RGB 值和可選的 Alpha 通道指定。
該值始終以井號 (#) 字符開頭,后跟以下某種格式的“透明度、紅、綠、藍”(Alpha-Red-Green-Blue) 信息:
- #RGB
- #ARGB
- #RRGGBB
- #AARRGGBB
android:state_pressed
- 布爾值。如果此項應(yīng)在按下對象時(例如輕觸/點按了按鈕時)使用,則為“true”;如果此項應(yīng)在默認的非按下狀態(tài)下使用,則為“false”。
android:state_focused
- 布爾值。如果此項應(yīng)在聚焦對象時(例如使用軌跡球/方向鍵突出顯示按鈕時)使用,則為“true”;如果此項應(yīng)在默認的非聚焦狀態(tài)下使用,則為“false”。
android:state_selected
- 布爾值。如果此項應(yīng)在選擇對象時(例如打開標簽頁時)使用,則為“true”;如果此項應(yīng)在未選擇對象時使用,則為“false”。
android:state_checkable
- 布爾值。如果此項應(yīng)在對象可勾選時使用,則為“true”;如果此項應(yīng)在對象不可勾選時使用,則為“false”。(僅適用于對象可在可勾選和不可勾選的微件之間轉(zhuǎn)換的情況。)
android:state_checked
- 布爾值。如果此項應(yīng)在勾選對象時使用,則為“true”;如果應(yīng)在取消勾選對象時使用,則為“false”。
android:state_enabled
- 布爾值。如果此項應(yīng)在啟用對象(能夠接收輕觸/點按事件)時使用,則為“true”;如果應(yīng)在停用對象時使用,則為“false”。
android:state_window_focused
- 布爾值。如果此項應(yīng)在應(yīng)用窗口具有焦點(應(yīng)用位于前臺)時使用,則為“true”;如果此項應(yīng)在應(yīng)用窗口沒有焦點時(例如通知欄下拉或出現(xiàn)一個對話框時)使用,則為“false”。
注意:請注意,系統(tǒng)將應(yīng)用狀態(tài)列表中與對象的當(dāng)前狀態(tài)匹配的第一項。因此,如果列表中的第一項不包含上述任何狀態(tài)屬性,則每次都會應(yīng)用該項,因此默認值應(yīng)始終為最后一項,如以下示例所示。
- 示例:
- 保存于
res/color/button_text.xml
的 XML 文件:
此布局 XML 會將顏色列表應(yīng)用到 View:
- 另請參閱:
名稱欄目:Android復(fù)習(xí)(二)應(yīng)用資源-->顏色狀態(tài)列表-創(chuàng)新互聯(lián)
文章分享:
http://weahome.cn/article/ccjojp.html