Selector

圖片資源:

檔案位置

values\abc.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <color name="c1">#ffff00</color>
    <color name="c2">#ffffff</color>
    <color name="c3">#000000</color>
    <color name="c4">#ff0000</color>

</resources>

drawable\backgound_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/c1" android:state_focused="true"/>
    <item android:drawable="@color/c2" android:state_focused="false"/>

</selector>

drawable\button_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/checked" android:state_checked="true"/>
    <item android:drawable="@drawable/unchecked" android:state_checked="false"/>

</selector>

color\color.xml(也可放在valuse目錄)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_focused="true" android:color="@color/c4"/>
    <item android:state_focused="false" android:color="@color/c3"/>

</selector>

布局文件layout\activity_main.xml

取得焦點:<requestFocus>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/background_selector"
        android:ems="10" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/background_selector"
        android:ems="10" />

    <EditText
        android:id="@+id/editText3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:textColor="@color/color_selector" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editText4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:textColor="@color/color_selector" />

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@drawable/button_selector"
        android:text="CheckBox" />

    <CheckBox
        android:id="@+id/checkBox2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@drawable/button_selector"
        android:text="CheckBox" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_press"
        android:text="Button" />

</LinearLayout>

不用寫程式:

package com.example.app19;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}