Android自定義實(shí)現(xiàn)開(kāi)關(guān)按鈕代碼
我們?cè)趹?yīng)用中經(jīng)??吹揭恍┻x擇開(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)部類(lè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中關(guān)于屏幕的三個(gè)小眾知識(shí)(寬屏適配、禁止截屏和保持屏幕常亮)
這篇文章主要給大家介紹了Android中關(guān)于屏幕的三個(gè)小眾知識(shí),分別是寬屏適配、禁止截屏和保持屏幕常亮的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們可以參考學(xué)習(xí),下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12Android使用手勢(shì)監(jiān)聽(tīng)器GestureDetector遇到的不響應(yīng)問(wèn)題
這篇文章主要介紹了Android使用手勢(shì)監(jiān)聽(tīng)器GestureDetector遇到的不響應(yīng)問(wèn)題,具有很好的參考價(jià)值,對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08關(guān)于WebView 重定向行為導(dǎo)致的多次加載的問(wèn)題
這篇文章主要介紹了關(guān)于WebView 重定向行為導(dǎo)致的多次加載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03