《Android》『ToggleButton』- 狀態開關按鈕元件的基本用法與自訂外觀方式

《Android Developers 參考文獻》

➥ToggleButton

 

《繼承架構》

extends CompoundButton


java.lang.Object

android.view.View

 ↳ android.widget.TextView

  ↳ android.widget.Button

   ↳ android.widget.CompoundButton

    ↳ android.widget.ToggleButton

 

《簡單介紹》

一般而言,透過 Button 元件,我們可以實作很多種不同的功能,其中一種就是有開關功能的按鈕,若我們要透過 Button 來實作,則必須宣告一個布林值來控管 Button 狀態與介面的切換,但在這裡我們有更方便的做法,ToggleButton 是一個擁有兩種狀態的按鈕元件,在其 OnCheckedChangeListener 方法中自己就會附帶一個布林值,且可以直接設定不同狀態時所需顯示的預設文字,透過這個元件,我們可以很簡單的實現開關按鈕的切換。

 

《用法介紹》

一個預設的 ToggleButton 元件,基本樣式包含了背景圖片以及文字,我們可以直接透過它所提供的方法修改內容,亦可以捨棄原本的元件樣式,透過 Selector 資源檔自訂元件樣式。

➥基本用法

➥透過 Selector 資源檔自訂 ToggleButton 元件外觀

基本用法

MainActivity.java

activity_main.xml

以上直接透過程式碼的方式,示範 ToggleButton 元件的基本使用方式,用到的方法條列如下 –

setTextOn()、setTextOff()

設定按紐於選取、未選取時的文字。

setChecked()

設定按紐狀態

setBackgroundDrawable()

設定按紐背景圖案。

setOnCheckedChangeListener()

設定按紐狀態監聽器。

 

透過 Selector 資源檔自訂 ToggleButton 元件外觀

透過 Selector 自訂樣式有兩種做法,一種是在 android:background 屬性中傳入自訂好的 Selector.xml 資源檔,並在資源檔裡面定義兩種狀態的按鈕,另一種則是在 android:button 屬性中傳入自訂好的 Selector.xml 資源檔,並將 android:textOff、android:textOn 設為空字串,android:background 設為透明背景,以預防干擾。

以下實作修改 android:button 的方式,程式碼如下 –

selector.xml

首先我們先建立一個 selector 資源檔,並在其中定義了按鈕被選取與未被選取時的圖案。

接著修改 ToggleButton 元件的相關屬性,在 android:button 屬性中傳入自訂好的 Selector.xml 資源檔,並將 android:textOff、android:textOn 設為空字串,android:background 設為透明背景,以預防干擾即可。

 

延伸閱讀:

Android 工作筆記總整理

賽肥膩膩

我們是低調到不行的肥膩夫妻檔,一路上一邊吵鬧一邊記錄著生活大小事,最近迷上了宅在家追劇,希望能透過文字將所有看過的影集好好紀錄,整理成屬於我們自己的回憶資料庫。

上 / 下一篇文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *