Share via


ColorStateList 類別

定義

可讓您將狀態集對應 android.view.View 至色彩。

[Android.Runtime.Register("android/content/res/ColorStateList", DoNotGenerateAcw=true)]
public class ColorStateList : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/content/res/ColorStateList", DoNotGenerateAcw=true)>]
type ColorStateList = class
    inherit Object
    interface IParcelable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
繼承
ColorStateList
屬性
實作

備註

可讓您將狀態集對應 android.view.View 至色彩。

android.content.res.ColorStateList會從應用程式資原始目錄的「color」 子目錄目錄中定義的 XML 資源檔建立 s。 XML 檔案包含單一 「selector」 元素,其中含有數個 「item」 元素。 例如:

&lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt;
              &lt;item android:state_focused="true"
                      android:color="@color/sample_focused" /&gt;
              &lt;item android:state_pressed="true"
                      android:state_enabled="false"
                      android:color="@color/sample_disabled_pressed" /&gt;
              &lt;item android:state_enabled="false"
                      android:color="@color/sample_disabled_not_pressed" /&gt;
              &lt;item android:color="@color/sample_default" /&gt;
            &lt;/selector&gt;

這會定義一組狀態規格/色彩組,其中每個狀態規格會指定一組狀態,其中檢視必須處於或不在狀態,且色彩會指定與該規格相關聯的色彩。

「StateSpec」 >< h3 > State specs < /h3>

每個專案都會定義一組狀態規格和色彩組,其中狀態規格是設定為 truefalse 或 表示包含或排除的一系列屬性。 如果未為專案指定屬性,則可能是任何值。

例如,每當設定焦點狀態時,就會比對下列專案;任何其他狀態都可以設定或取消設定:

&lt;item android:state_focused="true"
                    android:color="@color/sample_focused" /&gt;

一般而言,色彩狀態清單會參考架構定義的狀態屬性,例如 android.R.attr#state_focused android:state_focusedandroid.R.attr#state_enabled android:state_enabled ;不過,也可以使用應用程式定義的屬性。

<strong > Note: < /strong > 狀態規格清單會依出現在 XML 檔案中的順序進行比對。 基於這個理由,應該在檔案中稍早放置更特定的專案。 沒有狀態規格的專案會被視為符合任何一組狀態,而且通常適合做為預設使用的最終專案。

如果在其他專案之前放置沒有狀態規格的專案,則會忽略這些專案。

「ItemAttributes」 >< h3 > Item attributes < /h3>

每個專案都必須定義 android.R.attr#color android:color 屬性,可能是 HTML 樣式的十六進位色彩、色彩資源的參考,或在 API 23 和更新版本中 -- 解析為色彩的主題屬性。

從 API 23 開始,專案可以選擇性地定義 android.R.attr#alpha android:alpha 屬性來修改基底色彩的不透明度。 這個屬性會採用介於 0 到 1 之間的浮點值,或是解析為這類的主題屬性。 專案的整體色彩是藉由將基底色彩的 Alpha 色板乘以 alpha 值來計算。 例如,下列專案代表 50% 不透明度的主題輔色:

&lt;item android:state_enabled="false"
                    android:color="?android:attr/colorAccent"
                    android:alpha="0.5" /&gt;

從 API 31 開始,專案可以選擇性地定義 android.R.attr#lStar android:lStar 屬性來修改基底色彩的感知亮度。 這個屬性接受介於 0 到 100 之間的浮點值,或是解析為這類的主題屬性。 專案的整體色彩是藉由將基底色彩轉換成協助工具易記色彩空間,並將其 L* 設定為 屬性上 lStar 指定的值來計算。 例如,下列專案代表主題的輔色為 50% 感知亮度:

&lt;item android:state_enabled="false"
                    android:color="?android:attr/colorAccent"
                    android:lStar="50" /&gt;

「DeveloperGuide」 >< h3 > 開發人員指南 < /h3>

如需詳細資訊,請參閱 色彩狀態清單資源的指南。

android.content.res.ColorStateList JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

建構函式

ColorStateList(Int32[][], Int32[])

建立 ColorStateList,以傳回從狀態到色彩的指定對應。

ColorStateList(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。

屬性

ChangingConfigurations

傳回此色彩狀態清單可能會變更之組態參數的遮罩,需要重新建立。

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Creator
DefaultColor

傳回這個 ColorStateList 中的預設色彩。

Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
IsOpaque

指出此色彩狀態清單是否不透明,這表示從 #getColorForState(int[], int) 傳回的每個色彩都有 255 的 Alpha 值。

IsStateful

指出此色彩狀態清單是否至少包含一個狀態規格,而第一個規格不是空的 (e。

JniIdentityHashCode

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
JniPeerMembers

可讓您將狀態集對應 android.view.View 至色彩。

PeerReference

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

方法

Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
CreateFromXml(Resources, XmlReader)

從 XML 檔建立 ColorStateList。

CreateFromXml(Resources, XmlReader, Resources+Theme)

從 XML 檔建立 ColorStateList。

DescribeContents()

描述這個可封送處理標記法中包含的特殊物件種類。

Dispose()

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
Dispose(Boolean)

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetColorForState(Int32[], Color)

傳回與指定狀態集 android.view.View 相關聯的色彩。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()

當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ToArray<T>()

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
ValueOf(Color)
Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
WithAlpha(Int32)

建立新的 ColorStateList,其狀態和色彩與這個相同,但其中每個色彩都有指定的 Alpha 值 (0-255) 。

WithLStar(Single)

建立新的 ColorStateList,其狀態和色彩與這個相同,但其中每個色彩都有指定的亮度值, (0-100) 。

WriteToParcel(Parcel, ParcelableWriteFlags)

將這個 物件壓平合併至一個托地。

明確介面實作

IJavaPeerable.Disposed()

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
IJavaPeerable.Finalized()

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

可讓您將狀態集對應 android.view.View 至色彩。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

可讓您將狀態集對應 android.view.View 至色彩。

GetJniTypeName(IJavaPeerable)

可讓您將狀態集對應 android.view.View 至色彩。

適用於