四個配置文件: 放入res/drawable目錄中:
android:state_enabled="" 是否有效
android:state_focused="" 是否聚焦
android:state_pressed="" 是否被按下
button_bg.xml
-
<?xml version="1.0" encoding="UTF-8"?> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
-
-
<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-
<item
-
android:state_pressed="true"
-
android:drawable="@drawable/button_focusedandpressed" />
-
<item
-
android:state_focused="true"
-
android:state_pressed="true"
-
android:drawable="@drawable/button_focusedandpressed" />
-
<item
-
android:state_focused="false"
-
android:state_pressed="true"
-
android:drawable="@drawable/button_defocused" />
-
<item
-
android:state_focused="true"
-
android:state_pressed="false"
-
android:drawable="@drawable/button_focused" />
-
<item
-
android:state_focused="false"
-
android:drawable="@drawable/button_defocused" />
- </selector>
button_defocused.xml //實現漸變色的效果(焦點不在button上,且未按下)
-
<?xml version="1.0" encoding="UTF-8"?>
-
<shape xmlns:android="http://schemas.android.com/apk/res/android">
-
<!-- 顏色漸變效果 -->
-
<gradient
-
android:startColor="#00FF00"
-
android:endColor="#C0C0C0"
-
android:paddingTop="5dp"
-
android:angle="0" />
-
<!-- 按鈕四個角的平滑度 -->
-
<corners android:radius="15dp" />
- </shape>
button_focused.xml (焦點在button上,但沒有按下)
-
<?xml version="1.0" encoding="UTF-8"?>
-
<shape xmlns:android="http://schemas.android.com/apk/res/android">
-
<!-- 顏色漸變效果 -->
-
<gradient
-
android:startColor="#505050"
-
android:endColor="#C0C0C0"
-
android:paddingTop="5dp"
-
android:angle="0" />
-
-
<!-- 按鈕四個角的平滑度 -->
-
<corners android:radius="15dp" />
-
-
<!-- 焦點在按鈕上時光環的寬度與顏色 -->
-
<stroke android:width="4dp" android:color="#FFFF9200" />
-
- </shape>
button_focusedandpressed.xml (按鈕按下時,或被點擊時)
-
<?xml version="1.0" encoding="UTF-8"?>
-
<shape xmlns:android="http://schemas.android.com/apk/res/android">
-
<!-- 顏色漸變效果 -->
-
<gradient
-
android:startColor="#FFFF00"
-
android:endColor="#C0C0C0"
-
android:paddingTop="5dp"
-
android:angle="0" />
-
-
<!-- 按鈕四個角的平滑度 -->
-
<corners android:radius="20dp" />
-
-
<!-- 焦點在按鈕上時光環的寬度與顏色 -->
-
<stroke android:width="4dp" android:color="#FFFF9200" />
-
- </shape>
佈局文件中的用法;
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_bg“
android:textSize="30dip"
android:id="@+id/button_cal"
android:text="電話控制"/>