Using graphics to show button state
We've talked about the versatility of Android Views and how behavior and visual appearance can be customized. In this recipe, we will create a drawable state selector, which is a resource defined in XML that specifies the drawable to use based on the View's state. The most commonly used states, along with the possible values, include:
state_pressed=["true" | "false"]
state_focused=["true" | "false"]
state_selected=["true" | "false"]
state_checked=["true" | "false"]
state_enabled=["true" | "false"]
To define a state selector, create an XML file with the <selector>
element, as shown:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > </selector>
Within the <selector>
element, we define an <item>
to identify the drawable to be used based on the specified state(s). Here's an example <item>
element using multiple states:
<item android:drawable="@android...