close

開發Android時,有時候需要按鈕具備開關功能,Android中有一個類別就叫做 ToggleButton,可以直接實現,我的Android版本如下:

1.jpg

 

Toggle Button 可以直接在 activity_main.xml 中實現,如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
xmlns:app="http://schemas.android.com/apk/res-auto"
   
xmlns:tools="http://schemas.android.com/tools"
   
android:layout_width="match_parent"
   
android:layout_height="match_parent"
   
tools:context=".MainActivity"
>

    <
ToggleButton
       
android:id="@+id/toggle"
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
app:layout_constraintBottom_toBottomOf="parent"
       
app:layout_constraintEnd_toEndOf="parent"
       
app:layout_constraintStart_toStartOf="parent"
       
app:layout_constraintTop_toTopOf="parent"
/>
</
androidx.constraintlayout.widget.ConstraintLayout>

 

ToggleButton會有預設的開與關的字樣,如下圖:

Screenshot_20210115-113021.png

Screenshot_20210115-113031.png

 

如果要改寫預設的文字,可以在 activity_main.xml中改成如下紅字部分:

<ToggleButton
    android:textOn="已經打開了"
    android:textOff="已經關閉了"
    android:id="@+id/toggle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

 

如果有要使用圖片來取代按鈕,就把這兩個屬性改成:

textOn=””

textOff=””

這樣初始化就不會有文字出現。

 

Java中取用ToggleButton的方式如下,實作CompoundButton.OnCheckedChangeListener可以直接用來判斷ToggleButton的狀態。

 

 

打完收工

Reference:

https://stackoverflow.com/questions/11604476/it-is-possible-to-create-a-togglebutton-without-text

arrow
arrow
    創作者介紹
    創作者 葛瑞斯肯 的頭像
    葛瑞斯肯

    葛瑞斯肯樂活筆記

    葛瑞斯肯 發表在 痞客邦 留言(0) 人氣()