ColorStateList 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
可讓您將狀態集對應 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
- 繼承
- 屬性
- 實作
備註
可讓您將狀態集對應 android.view.View
至色彩。
android.content.res.ColorStateList
會從應用程式資原始目錄的「color」 子目錄目錄中定義的 XML 資源檔建立 s。 XML 檔案包含單一 「selector」 元素,其中含有數個 「item」 元素。 例如:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:color="@color/sample_focused" />
<item android:state_pressed="true"
android:state_enabled="false"
android:color="@color/sample_disabled_pressed" />
<item android:state_enabled="false"
android:color="@color/sample_disabled_not_pressed" />
<item android:color="@color/sample_default" />
</selector>
這會定義一組狀態規格/色彩組,其中每個狀態規格會指定一組狀態,其中檢視必須處於或不在狀態,且色彩會指定與該規格相關聯的色彩。
「StateSpec」 >< h3 > State specs < /h3>
每個專案都會定義一組狀態規格和色彩組,其中狀態規格是設定為 true
false
或 表示包含或排除的一系列屬性。 如果未為專案指定屬性,則可能是任何值。
例如,每當設定焦點狀態時,就會比對下列專案;任何其他狀態都可以設定或取消設定:
<item android:state_focused="true"
android:color="@color/sample_focused" />
一般而言,色彩狀態清單會參考架構定義的狀態屬性,例如 android.R.attr#state_focused android:state_focused
或 android.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% 不透明度的主題輔色:
<item android:state_enabled="false"
android:color="?android:attr/colorAccent"
android:alpha="0.5" />
從 API 31 開始,專案可以選擇性地定義 android.R.attr#lStar android:lStar
屬性來修改基底色彩的感知亮度。 這個屬性接受介於 0 到 100 之間的浮點值,或是解析為這類的主題屬性。 專案的整體色彩是藉由將基底色彩轉換成協助工具易記色彩空間,並將其 L* 設定為 屬性上 lStar
指定的值來計算。 例如,下列專案代表主題的輔色為 50% 感知亮度:
<item android:state_enabled="false"
android:color="?android:attr/colorAccent"
android:lStar="50" />
「DeveloperGuide」 >< h3 > 開發人員指南 < /h3>
如需詳細資訊,請參閱 色彩狀態清單資源的指南。
的 android.content.res.ColorStateList
JAVA 檔。
此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。
建構函式
ColorStateList(Int32[][], Int32[]) |
建立 ColorStateList,以傳回從狀態到色彩的指定對應。 |
ColorStateList(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。 |
屬性
ChangingConfigurations |
傳回此色彩狀態清單可能會變更之組態參數的遮罩,需要重新建立。 |
Class |
傳回這個 |
Creator | |
DefaultColor |
傳回這個 |
Handle |
基礎 Android 實例的控制碼。 (繼承來源 Object) |
IsOpaque |
指出此色彩狀態清單是否不透明,這表示從 |
IsStateful |
指出此色彩狀態清單是否至少包含一個狀態規格,而第一個規格不是空的 (e。 |
JniIdentityHashCode |
可讓您將狀態集對應 |
JniPeerMembers |
可讓您將狀態集對應 |
PeerReference |
可讓您將狀態集對應 |
ThresholdClass |
此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。 |
ThresholdType |
此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。 |
方法
Clone() |
建立並傳回這個 物件的複本。 (繼承來源 Object) |
CreateFromXml(Resources, XmlReader) |
從 XML 檔建立 ColorStateList。 |
CreateFromXml(Resources, XmlReader, Resources+Theme) |
從 XML 檔建立 ColorStateList。 |
DescribeContents() |
描述這個可封送處理標記法中包含的特殊物件種類。 |
Dispose() |
可讓您將狀態集對應 |
Dispose(Boolean) |
可讓您將狀態集對應 |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
GetColorForState(Int32[], Color) |
傳回與指定狀態集 |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
JavaFinalize() |
當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。 (繼承來源 Object) |
Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
ToArray<T>() |
可讓您將狀態集對應 |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
可讓您將狀態集對應 |
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() |
可讓您將狀態集對應 |
IJavaPeerable.DisposeUnlessReferenced() |
可讓您將狀態集對應 |
IJavaPeerable.Finalized() |
可讓您將狀態集對應 |
IJavaPeerable.JniManagedPeerState |
可讓您將狀態集對應 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
可讓您將狀態集對應 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
可讓您將狀態集對應 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
可讓您將狀態集對應 |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
可讓您將狀態集對應 |
GetJniTypeName(IJavaPeerable) |
可讓您將狀態集對應 |