轉自: https://developer.android.google.cn/guide/topics/resources/color-list-resource

顏色狀態列表資源
ColorStateList
是一個您可以在 XML 中定義的對象,您可以將其作為顏色來應用,但它實際上會更改顏色,具體取決于其應用到的 View
對象的狀態。例如,Button
微件可以處于多種不同狀態中的一種(按下、聚焦或既不按下也不聚焦),而使用顏色狀態列表,您可以為每種狀態提供不同的顏色。

創新互聯是一家專業提供
江門企業網站建設,專注與
網站制作、成都網站建設、
HTML5、小程序制作等業務。10年已為江門眾多企業、政府機構等服務。創新互聯專業網絡公司優惠進行中。
您可以在 XML 文件中描述狀態列表。每種顏色都在單個 <selector>
元素內的 <item>
元素中定義。每個 <item>
使用不同的屬性描述其應在什么狀態下使用。
在每次狀態更改期間,系統將從上到下遍歷狀態列表,并且將使用與當前狀態匹配的第一項。系統的選擇并非基于“最佳匹配”,而僅僅是基于符合狀態的最低標準的第一項。
注意:如果要提供靜態顏色資源,請使用簡單的顏色值。
- 文件位置:
res/color/filename.xml
該文件名將用作資源 ID。- 編譯后的資源數據類型:
- 指向
ColorStateList
的資源指針。 - 資源引用:
- 在 Java 中:
R.color.filename
在 XML 中:@[package:]color/filename
- 語法:
- <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:color="hex_color"
android:state_pressed=["true" | "false"]
android:state_focused=["true" | "false"]
android:state_selected=["true" | "false"]
android:state_checkable=["true" | "false"]
android:state_checked=["true" | "false"]
android:state_enabled=["true" | "false"]
android:state_window_focused=["true" | "false"] />
</selector>
- 元素:
<selector>
- 必需。該元素必須是根元素。包含一個或多個
<item>
元素。屬性:
xmlns:android
- 字符串。必需。定義 XML 命名空間,該命名空間必須為
"http://schemas.android.com/apk/res/android"
。
<item>
- 定義在某些狀態下使用的顏色,狀態通過其屬性來描述。必須是
<selector>
元素的子元素。屬性:
android:color
- 十六進制顏色。必需。顏色通過 RGB 值和可選的 Alpha 通道指定。
該值始終以井號 (#) 字符開頭,后跟以下某種格式的“透明度、紅、綠、藍”(Alpha-Red-Green-Blue) 信息:
- #RGB
- #ARGB
- #RRGGBB
- #AARRGGBB
android:state_pressed
- 布爾值。如果此項應在按下對象時(例如輕觸/點按了按鈕時)使用,則為“true”;如果此項應在默認的非按下狀態下使用,則為“false”。
android:state_focused
- 布爾值。如果此項應在聚焦對象時(例如使用軌跡球/方向鍵突出顯示按鈕時)使用,則為“true”;如果此項應在默認的非聚焦狀態下使用,則為“false”。
android:state_selected
- 布爾值。如果此項應在選擇對象時(例如打開標簽頁時)使用,則為“true”;如果此項應在未選擇對象時使用,則為“false”。
android:state_checkable
- 布爾值。如果此項應在對象可勾選時使用,則為“true”;如果此項應在對象不可勾選時使用,則為“false”。(僅適用于對象可在可勾選和不可勾選的微件之間轉換的情況。)
android:state_checked
- 布爾值。如果此項應在勾選對象時使用,則為“true”;如果應在取消勾選對象時使用,則為“false”。
android:state_enabled
- 布爾值。如果此項應在啟用對象(能夠接收輕觸/點按事件)時使用,則為“true”;如果應在停用對象時使用,則為“false”。
android:state_window_focused
- 布爾值。如果此項應在應用窗口具有焦點(應用位于前臺)時使用,則為“true”;如果此項應在應用窗口沒有焦點時(例如通知欄下拉或出現一個對話框時)使用,則為“false”。
注意:請注意,系統將應用狀態列表中與對象的當前狀態匹配的第一項。因此,如果列表中的第一項不包含上述任何狀態屬性,則每次都會應用該項,因此默認值應始終為最后一項,如以下示例所示。
- 示例:
- 保存于
res/color/button_text.xml
的 XML 文件:<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector>
此布局 XML 會將顏色列表應用到 View:
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button_text"
android:textColor="@color/button_text" />
- 另請參閱:
新聞標題:Android復習(二)應用資源-->顏色狀態列表-創新互聯
當前地址:http://m.kartarina.com/article28/ccjojp.html
成都網站建設公司_創新互聯,為您提供面包屑導航、網站排名、企業網站制作、做網站、品牌網站建設、營銷型網站建設
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯