1. 程式人生 > >超級簡單的自定義SwitchButton二

超級簡單的自定義SwitchButton二


上一篇部落格中我們用自定義View的方式畫了一個滑動開關,但是明明系統有提供的滑塊開關為什麼我們非要自定義呢,喜歡玩是吧,好吧,我們多數情況下不喜歡使用系統提供的控制元件是因為太醜,太Low了,但是當我們要求不是太嚴苛的時候,可以通過簡單修改系統控制元件的樣式來滿足需求,今天呢,我們使用一種修改系統樣式的形式來自定義滑塊開關。 首先我們設定一下系統滑塊開關的監聽事件
//TODO 設定滑塊開關按鈕的監聽事件
private void setSwitchListener(){
    switchButton2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        {
            if (isChecked)
            {
                //TODO 開
                updateSystemImg(true);
            } else
            {
                //TODO 關
                updateSystemImg(false);
            }
        }
    });
}
然後我們需要處理滑塊開關的樣式

當然上面是我要求UI小妹給切的圖片(一共三張),然後我們需要初始化滑塊開關的樣式,讓其處於未選中狀態

//TODO 初始化滑塊開關樣式
private void initSwitchButton(){
    updateSystemImg(false);
}
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_switchview);
    switchButton2=(Switch)this.findViewById(R.id.swithcButton2);
    setSwitchListener();
    initSwitchButton();
}
OK,大功告成, 歡迎大家到交流群裡面分享一些驚天地泣鬼神的程式碼,或者程式設計思想,貼下,Android程式碼藝術:128672634,如果你不僅僅是把安卓當作一份工作,而是包含堅持和熱愛!