Android自定義實(shí)現(xiàn)開(kāi)關(guān)按鈕代碼
我們?cè)趹?yīng)用中經(jīng)常看到一些選擇開(kāi)關(guān)狀態(tài)的配置文件,做項(xiàng)目的時(shí)候用的是android的Switch控件,但是感覺(jué)好丑的樣子子
個(gè)人認(rèn)為還是自定義的比較好,先上個(gè)效果圖:

實(shí)現(xiàn)過(guò)程:
1.準(zhǔn)備開(kāi)關(guān)不同狀態(tài)的兩張圖片放入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控件并且實(shí)例化,添加點(diǎn)擊事件:
/**
* 自己出創(chuàng)建的內(nèi)部類,監(jiān)聽(tīng)按鈕點(diǎn)擊事件
*
* @author cyf
*
*/
class MyOnCheckedChangeListener implements OnCheckedChangeListener {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
if (arg1) {
// 開(kāi)
} else {
// 關(guān)
}
}
}
4.添加監(jiān)聽(tīng):
switch1.setOnCheckedChangeListener((OnCheckedChangeListener) new MyOnCheckedChangeListener());
相關(guān)文章
Android fragment實(shí)現(xiàn)多個(gè)頁(yè)面切換效果
這篇文章主要為大家詳細(xì)介紹了fragment實(shí)現(xiàn)多個(gè)頁(yè)面切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
關(guān)于Android發(fā)送短信獲取送達(dá)報(bào)告的問(wèn)題(推薦)
最近公司開(kāi)發(fā)一個(gè)項(xiàng)目,要求app能夠發(fā)送短信并獲取送達(dá)報(bào)告。實(shí)現(xiàn)代碼非常簡(jiǎn)單的,下面小編給大家分享關(guān)于Android發(fā)送短信獲取送達(dá)報(bào)告的問(wèn)題,感興趣的朋友一起看看吧2017-03-03
Android實(shí)現(xiàn)多線程下載圖片的方法
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多線程下載圖片的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
ANDROID BottomNavigationBar底部導(dǎo)航欄的實(shí)現(xiàn)示例
本篇文章主要介紹了ANDROID BottomNavigationBar底部導(dǎo)航欄的實(shí)現(xiàn)示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-10-10

