我們在應用中經常看到一些選擇開關狀態的配置文件,做項目的時候用的是android的Switch控件,但是感覺好丑的樣子…………
個人認為還是自定義的比較好,先上個效果圖:
實現過程:
1.准備開關不同狀態的兩張圖片放入drawable中。
2.xml文件中添加代碼:
<ToggleButton
android:id="@+id/switch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:button="@drawable/btn_backgrounds"
android:checked="false"
android:textOff=""
android:textOn="" />
android:button="@drawable/btn_backgrounds"是自己定義的android selector文件:
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/toggle_btn_on" />
<item android:drawable="@drawable/toggle_btn_off" />
3,之后在java文件中聲明ToggleButton控件並且實例化,添加點擊事件:
/** * 自己出創建的內部類,監聽按鈕點擊事件 * * @author cyf * */
class MyOnCheckedChangeListener implements OnCheckedChangeListener { @Override public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
if (arg1) { // 開 } else { // 關 } } }
4.添加監聽:
switch1.setOnCheckedChangeListener((OnCheckedChangeListener) new MyOnCheckedChangeListener());
筆記備忘一下,這個沒有Switch的滑動效果~~~