您可以定義用作背景的圖形內容和切換器部分是這樣的:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/switch_thumb"
android:track="@drawable/switch_bg" />
現在,你需要創建一個選擇用於定義切換繪製的不同狀態。 這裏從Android源的副本:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/switch_thumb_disabled_holo_light" />
<item android:state_pressed="true" android:drawable="@drawable/switch_thumb_pressed_holo_light" />
<item android:state_checked="true" android:drawable="@drawable/switch_thumb_activated_holo_light" />
<item android:drawable="@drawable/switch_thumb_holo_light" />
</selector>
這定義了拇指可繪製,即上方移動背景的圖像。有用於滑塊4個ninepatch圖像:
失活的版本(即Android是使用xhdpi版本)
壓制滑塊:
活化的滑塊(接通狀態):
缺省版本(關閉狀態):
也有以下選擇中定義爲背景三種不同狀態:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/switch_bg_disabled_holo_dark" />
<item android:state_focused="true" android:drawable="@drawable/switch_bg_focused_holo_dark" />
<item android:drawable="@drawable/switch_bg_holo_dark" />
</selector>
停用的版本:
聚焦的版本:
和默認版本:
爲了有一個風格的切換隻需創建此兩個選擇,它們設置爲你的交換機視圖,然後更改7張圖像到你想要的風格。
非常詳細的感謝,可以讓拇指搬出軌道的一部分9補丁滑塊的圖像是特別有幫助,因爲我不能工作了他們是如何做。 (默認的滑塊有尖的邊緣位移過軌道末端以在一側形成方形端) – 2012-04-15 23:54:26
很棒的工作 - 非常詳細 – Ahmad 2012-04-30 16:39:07
還有一個狀態是- 哪個當開關處於「開」狀態時可以改變軌道圖像。所以如果你想改變軌道上的「開」/「關」,使用這種狀態。 –
narangrajeev81
2013-10-08 11:11:48