Renk durumu listesi kaynağı
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
ColorStateList
XML'de tanımlayabileceğiniz ve ihtiyacınıza göre renkleri değiştiren bir renk olarak uygulayabileceğiniz bir nesnedir
View
nesnesinin durumu
için de geçerli. Örneğin, Button
widget'ı birkaç durumdan birinde olabilir: basılmış, odaklanılmış veya hiçbiri. Bir renk durumu listesi kullanarak
her eyalet için farklı bir renk sağlayabilirsiniz.
Durum listesini bir XML dosyasında açıklarsınız. Her renk, tek bir <selector>
öğesinin içindeki bir <item>
öğesinde tanımlanır. Her <item>
ürünün kullanıldığı durumu açıklayan çeşitli özellikler kullanır.
Her durum değişikliği sırasında, durum listesi yukarıdan aşağıya ve
eşleşmesini ifade eder. Seçim "en iyi"ye göre değil
, daha çok eyaletin minimum ölçütlerini karşılayan ilk öğedir.
Not: Statik renk kaynağı sağlamak istiyorsanız
basit color değerini kullanın.
- dosya konumu:
res/color/filename.xml
Dosya adı, kaynak kimliği olarak kullanılır.
- derlenen kaynak veri türü:
- Kaynak işaretçisini bir
ColorStateList
- kaynak referansı:
- .
Java'da:
R.color.filename
XML'de: @[package:]color/filename
- söz dizimi:
-
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:color="hex_color"
android:lStar="floating_point_value"
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>
- öğeler:
-
<selector>
- Zorunlu. Bu, kök öğedir. Bir veya daha fazla
<item>
öğesi içerir.
Özellikler:
xmlns:android
- Dize. Zorunludur. Aşağıdaki gibi XML ad alanını tanımlar:
"http://schemas.android.com/apk/res/android"
<item>
- Özellikleri tarafından açıklandığı gibi, belirli durumlarda kullanılacak rengi tanımlar. Bu bir
<selector>
öğesinin alt öğesidir.
Özellikler:
android:color
- Onaltılık renk. Zorunludur. Renk bir
RGB değeri ve isteğe bağlı alfa kanalı.
Değer her zaman bir pound (#
) karakteriyle başlar, ardından da
Aşağıdaki biçimlerden birinde bulunan Alfa-Kırmızı-Yeşil-Mavi bilgiler:
- RGB
- #ARGB
- #RRGGBB
- #AARRGGBB
android:lStar
- Kayan nokta. İsteğe bağlıdır. Bu özellik, temel rengin algısal parlaklığını değiştirir. Bunun için
0 ile 100 arasında bir kayan nokta değeri veya bu şekilde çözümlenen bir tema özelliği ekleyin. Öğenin
genel renk, taban rengi erişilebilirlik açısından uygun bir renk alanına dönüştürülerek hesaplanır
ve L* değerini
lStar
özelliğinde belirtilen değere ayarlar.
Örnek: android:lStar="50"
android:state_pressed
- Boole. Bu öğe, nesneye dokunulduğunda (ör. bir düğmeye dokunduğunuzda) kullanılırsa
"true"
dokunulduğunda veya tıklandığı zaman. Bu öğe varsayılan olarak dokunulmamış durumda kullanılıyorsa "false"
değeridir.
android:state_focused
- Boole. Bu öğe nesneye odaklanıldığında (ör. bir düğme gerektiğinde) kullanılırsa
"true"
hareket topu veya D-pad kullanılarak vurgulanır. Bu öğe varsayılan olarak kullanılıyorsa "false"
değeridir.
bir durumu anlatır mısınız?”
diye soruldu.
android:state_selected
- Boole.
"true"
Bu öğe, nesne seçildiğinde kullanılırsa (örneğin, bir öğe
sekmesi açıldı. Nesne seçilmediğinde bu öğe kullanıldıysa "false"
değeridir.
android:state_checkable
- Boole. Nesne kontrol edilebilir olduğunda bu öğe kullanılırsa
"true"
. Bu durumda saat "false"
öğe, nesne kontrol edilebilir olmadığında kullanılır. Yalnızca nesne şu durumlarda yararlıdır:
bir widget'ın üzerine gelin.
android:state_checked
- Boole. Nesne kontrol edildiğinde bu öğe kullanılırsa
"true"
. Bu durumda saat "false"
nesnenin seçimi kaldırıldığında kullanılır.
android:state_enabled
- Boole. Nesne etkinken bu öğe kullanılırsa
"true"
Dokunma veya tıklama etkinlikleri alma. Nesne devre dışı bırakıldığında kullanılıyorsa "false"
değeridir.
android:state_window_focused
- Boole. Uygulama penceresine odaklanıldığında bu öğe kullanılırsa
"true"
yani
o uygulama ön plandadır. Uygulama sırasında bu öğe kullanılıyorsa "false"
pencerenin odak noktası yok (örneğin, bildirim gölgesinin aşağı çekilmesi veya bir iletişim kutusu gösterilmesi).
Not: Durum listesindeki ilk öğe,
öğesinin geçerli durumuyla eşleşir. Listedeki ilk öğe
yoksa önceki durum özelliklerinden hiçbiri yoksa her zaman geçerli olur. Bu nedenle,
varsayılan değer son olarak ayarlanır.
- örnek:
- XML dosyası
res/color/button_text.xml
itibarıyla kaydedildi:
<?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>
Aşağıdaki düzen XML'i, renk listesini bir View
öğesine uygular:
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button_text"
android:textColor="@color/button_text" />
- ayrıca bkz.:
-
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[null,null,["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Color state list resource\n\nA [ColorStateList](/reference/android/content/res/ColorStateList)\nis an object you can define in XML and apply as a color that actually changes colors depending on\nthe state of the [View](/reference/android/view/View) object it is\napplied to. For example, a [Button](/reference/android/widget/Button)\nwidget can exist in one of several states: pressed, focused, or neither. Using a color state list,\nyou can provide a different color for each state.\n\nYou describe the state list in an XML file. Each color is defined in an `\u003citem\u003e` element inside a single `\u003cselector\u003e` element. Each `\u003citem\u003e`\nuses various attributes to describe the state in which it is used.\n\nDuring each state change, the state list is traversed top to bottom, and the first item that\nmatches the current state is used. The selection is *isn't* based on the \"best\"\nmatch, but rather the first item that meets the minimum criteria of the state.\n\n**Note:** If you want to provide a static color resource, use a\nsimple [color](/guide/topics/resources/more-resources#Color) value.\n\nfile location:\n: `res/color/`*filename*`.xml` \n\n The filename is used as the resource ID.\n\ncompiled resource datatype:\n: Resource pointer to a [ColorStateList](/reference/android/content/res/ColorStateList)\n\nresource reference:\n:\n In Java: `R.color.`*filename* \n\n In XML: `@[`*package* `:]color/`*filename*\n\nsyntax:\n:\n\n ```xml\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cselector xmlns:android=\"http://schemas.android.com/apk/res/android\" \u003e\n \u003citem\n android:color=\"hex_color\"\n android:lStar=\"floating_point_value\"\n android:state_pressed=[\"true\" | \"false\"]\n android:state_focused=[\"true\" | \"false\"]\n android:state_selected=[\"true\" | \"false\"]\n android:state_checkable=[\"true\" | \"false\"]\n android:state_checked=[\"true\" | \"false\"]\n android:state_enabled=[\"true\" | \"false\"]\n android:state_window_focused=[\"true\" | \"false\"] /\u003e\n \u003c/selector\u003e\n ```\n\nelements:\n:\n\n `\u003cselector\u003e`\n : **Required.** This is the root element. Contains one or more `\u003citem\u003e` elements.\n\n Attributes:\n\n `xmlns:android`\n : *String* . **Required.** Defines the XML namespace, which is\n `\"http://schemas.android.com/apk/res/android\"`.\n\n `\u003citem\u003e`\n : Defines a color to use during certain states, as described by its attributes. It is a\n child of a `\u003cselector\u003e` element.\n\n Attributes:\n\n `android:color`\n : *Hexadeximal color* . **Required** . The color is specified with an\n RGB value and optional alpha channel.\n\n The value always begins with a pound (`#`) character, followed by the\n Alpha-Red-Green-Blue information in one of the following formats:\n\n - #*RGB*\n - #*ARGB*\n - #*RRGGBB*\n - #*AARRGGBB*\n\n `android:lStar`\n : *Floating point* . **Optional** . This attribute modifies the base color's perceptual luminance. It takes either a\n floating-point value between 0 and 100 or a theme attribute that resolves as such. The item's\n overall color is calculated by converting the base color to an accessibility friendly color space\n and setting its L\\* to the value specified on the `lStar` attribute.\n\n Example: `android:lStar=\"50\"`\n\n `android:state_pressed`\n : *Boolean* . `\"true\"` if this item is used when the object is tapped, such as when a button\n is touched or clicked. It's `\"false\"` if this item is used in the default, non-tapped state.\n\n `android:state_focused`\n : *Boolean* . `\"true\"` if this item is used when the object is focused, such as when a button\n is highlighted using the trackball or D-pad. It's `\"false\"` if this item is used in the default,\n non-focused state.\n\n `android:state_selected`\n : *Boolean* . `\"true\"` if this item is used when the object is selected, such as when a\n tab is opened. It's `\"false\"` if this item it used when the object isn't selected.\n\n `android:state_checkable`\n : *Boolean* . `\"true\"` if this item is used when the object is checkable. It's `\"false\"` if this\n item is used when the object isn't checkable. Only useful if the object can\n transition between a checkable and non-checkable widget.\n\n `android:state_checked`\n : *Boolean* . `\"true\"` if this item is used when the object is checked. It's `\"false\"` if it\n is used when the object is deselected.\n\n `android:state_enabled`\n : *Boolean* . `\"true\"` if this item is used when the object is enabled, capable of\n receiving touch or click events. It's `\"false\"` if it is used when the object is disabled.\n\n `android:state_window_focused`\n : *Boolean* . `\"true\"` if this item is used when the application window has focus,\n meaning the\n application is in the foreground. It's `\"false\"` if this item is used when the application\n window doesn't have focus, such as if the notification shade is pulled down or a dialog appears.\n\n **Note:** The first item in the state list that\n matches the current state of the object is applied. So, if the first item in the list contains\n none of the preceding state attributes, then it applies every time. For this reason, place your\n default value last, as shown in the following example.\n\n\nexample:\n : XML file saved at `res/color/button_text.xml`: \n\n ```xml\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cselector xmlns:android=\"http://schemas.android.com/apk/res/android\"\u003e\n \u003citem android:state_pressed=\"true\"\n android:color=\"#ffff0000\"/\u003e \u003c!-- pressed --\u003e\n \u003citem android:state_focused=\"true\"\n android:color=\"#ff0000ff\"/\u003e \u003c!-- focused --\u003e\n \u003citem android:color=\"#ff000000\"/\u003e \u003c!-- default --\u003e\n \u003c/selector\u003e\n ```\n\n\n The following layout XML applies the color list to a `View`:\n\n ```xml\n \u003cButton\n android:layout_width=\"fill_parent\"\n android:layout_height=\"wrap_content\"\n android:text=\"@string/button_text\"\n android:textColor=\"@color/button_text\" /\u003e\n ```\n\nsee also:\n:\n - [Color (simple value)](/guide/topics/resources/more-resources#Color)\n - [ColorStateList](/reference/android/content/res/ColorStateList)\n - [State list drawable](/guide/topics/resources/drawable-resource#StateList)"]]