public
class
ColorStateList
extends Object
implements
Parcelable
java.lang.Object | |
↳ | android.content.res.ColorStateList |
Lets you map View
state sets to colors.
ColorStateList
s are created from XML resource files defined in the
"color" subdirectory directory of an application's resource directory. The XML file contains
a single "selector" element with a number of "item" elements inside. For example:
<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>This defines a set of state spec / color pairs where each state spec specifies a set of states that a view must either be in or not be in and the color specifies the color associated with that spec.
Each item defines a set of state spec and color pairs, where the state spec is a series of
attributes set to either true
or false
to represent inclusion or exclusion. If
an attribute is not specified for an item, it may be any value.
For example, the following item will be matched whenever the focused state is set; any other states may be set or unset:
<item android:state_focused="true" android:color="@color/sample_focused" />
Typically, a color state list will reference framework-defined state attributes such as
android:state_focused
or
android:state_enabled
; however, app-defined attributes may
also be used.
Note: The list of state specs will be matched against in the order that they appear in the XML file. For this reason, more-specific items should be placed earlier in the file. An item with no state spec is considered to match any set of states and is generally useful as a final item to be used as a default.
If an item with no state spec if placed before other items, those items will be ignored.
Each item must define an android:color
attribute, which may be
an HTML-style hex color, a reference to a color resource, or -- in API 23 and above -- a theme
attribute that resolves to a color.
Starting with API 23, items may optionally define an android:alpha
attribute to modify the base color's opacity. This attribute takes a either floating-point value
between 0 and 1 or a theme attribute that resolves as such. The item's overall color is
calculated by multiplying by the base color's alpha channel by the alpha
value. For
example, the following item represents the theme's accent color at 50% opacity:
<item android:state_enabled="false" android:color="?android:attr/colorAccent" android:alpha="0.5" />
For more information, see the guide to Color State List Resource.
XML attributes | |
---|---|
android:alpha |
Alpha multiplier applied to the base color. |
android:color |
Base color for this state. |
Inherited constants |
---|
From
interface
android.os.Parcelable
|
Fields | |
---|---|
public
static
final
Creator<ColorStateList> |
CREATOR
|
Public constructors | |
---|---|
ColorStateList(int[][] states, int[] colors)
Creates a ColorStateList that returns the specified mapping from states to colors. |
Public methods | |
---|---|
static
ColorStateList
|
createFromXml(Resources r, XmlPullParser parser)
This method was deprecated in API level 23. Use #createFromXml(Resources, XmlPullParser parser, Theme) |
static
ColorStateList
|
createFromXml(Resources r, XmlPullParser parser, Resources.Theme theme)
Creates a ColorStateList from an XML document using given a set of
|
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
int
|
getChangingConfigurations()
Returns a mask of the configuration parameters for which this color state list may change, requiring that it be re-created. |
int
|
getColorForState(int[] stateSet, int defaultColor)
Return the color associated with the given set of
|
int
|
getDefaultColor()
Return the default color in this |
boolean
|
isOpaque()
Indicates whether this color state list is opaque, which means that every
color returned from |
boolean
|
isStateful()
Indicates whether this color state list contains more than one state spec and will change color based on state. |
String
|
toString()
Returns a string representation of the object. |
static
ColorStateList
|
valueOf(int color)
|
ColorStateList
|
withAlpha(int alpha)
Creates a new ColorStateList that has the same states and colors as this one but where each color has the specified alpha value (0-255). |
void
|
writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |
---|---|
From
class
java.lang.Object
| |
From
interface
android.os.Parcelable
|
Alpha multiplier applied to the base color.
Must be a floating point value, such as "1.2
".
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute
resource symbol alpha
.
Base color for this state.
Must be a color value, in the form of "#rgb
", "#argb
",
"#rrggbb
", or "#aarrggbb
".
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute
resource symbol color
.
ColorStateList (int[][] states, int[] colors)
Creates a ColorStateList that returns the specified mapping from states to colors.
Parameters | |
---|---|
states |
int
|
colors |
int
|
ColorStateList createFromXml (Resources r, XmlPullParser parser)
This method was deprecated
in API level 23.
Use #createFromXml(Resources, XmlPullParser parser, Theme)
Creates a ColorStateList from an XML document.
Parameters | |
---|---|
r |
Resources :
Resources against which the ColorStateList should be inflated. |
parser |
XmlPullParser :
Parser for the XML document defining the ColorStateList. |
Returns | |
---|---|
ColorStateList |
A new color state list. |
Throws | |
---|---|
XmlPullParserException |
|
IOException |
ColorStateList createFromXml (Resources r, XmlPullParser parser, Resources.Theme theme)
Creates a ColorStateList from an XML document using given a set of
Resources
and a Resources.Theme
.
Parameters | |
---|---|
r |
Resources :
Resources against which the ColorStateList should be inflated. |
parser |
XmlPullParser :
Parser for the XML document defining the ColorStateList. |
theme |
Resources.Theme :
Optional theme to apply to the color state list, may be
null . |
Returns | |
---|---|
ColorStateList |
A new color state list. |
Throws | |
---|---|
XmlPullParserException |
|
IOException |
int describeContents ()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of writeToParcel(Parcel, int)
,
the return value of this method must include the
CONTENTS_FILE_DESCRIPTOR
bit.
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
int getChangingConfigurations ()
Returns a mask of the configuration parameters for which this color state list may change, requiring that it be re-created.
Returns | |
---|---|
int |
a mask of the changing configuration parameters, as defined by
ActivityInfo |
See also:
int getColorForState (int[] stateSet, int defaultColor)
Return the color associated with the given set of
View
states.
Parameters | |
---|---|
stateSet |
int :
an array of View states |
defaultColor |
int :
the color to return if there's no matching state
spec in this ColorStateList that matches the
stateSet. |
Returns | |
---|---|
int |
the color associated with that set of states in this ColorStateList .
|
int getDefaultColor ()
Return the default color in this ColorStateList
.
Returns | |
---|---|
int |
the default color in this ColorStateList .
|
boolean isOpaque ()
Indicates whether this color state list is opaque, which means that every
color returned from getColorForState(int[], int)
has an alpha
value of 255.
Returns | |
---|---|
boolean |
True if this color state list is opaque. |
boolean isStateful ()
Indicates whether this color state list contains more than one state spec and will change color based on state.
Returns | |
---|---|
boolean |
True if this color state list changes color based on state, false otherwise. |
See also:
String toString ()
Returns a string representation of the object. In general, the
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
ColorStateList valueOf (int color)
Parameters | |
---|---|
color |
int
|
Returns | |
---|---|
ColorStateList |
A ColorStateList containing a single color. |
ColorStateList withAlpha (int alpha)
Creates a new ColorStateList that has the same states and colors as this one but where each color has the specified alpha value (0-255).
Parameters | |
---|---|
alpha |
int :
The new alpha channel value (0-255). |
Returns | |
---|---|
ColorStateList |
A new color state list. |
void writeToParcel (Parcel dest, int flags)
Flatten this object in to a Parcel.
Parameters | |
---|---|
dest |
Parcel :
The Parcel in which the object should be written. |
flags |
int :
Additional flags about how the object should be written.
May be 0 or PARCELABLE_WRITE_RETURN_VALUE .
|