首先介紹一下Radiobutton,這是一個單選的按鍵,大多是出現在選擇性別、投票、滿意度調查...等。而通常會讓Radiogroup包住全部的Radiobutton來進行單選。以下為實作例子。
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="200dp"
android:layout_marginTop="400dp">
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="One" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Two" />
<RadioButton
android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Three" />
</RadioGroup>
呈現畫面為:
執行時也就只能擇一選擇,如果是每個RadioButton都分開拉的話那就無法達到單選的效果了
再來介紹Checkbox功能,Checkbox是一種多選選項的按鈕,與Radiobutton稍微的不太一樣,不需要組成一個群組,每個Checkbox都是獨立存在的。
而在這裡我們來實作插入圖片的checkbox。
首先,創建三個選項
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="baseball"
android:drawableRight="@drawable/checkbox_style"
android:background="@drawable/checkbox_bg"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.211"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.58" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="badminton"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.894"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.578" />
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="soccer"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.531"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.578" />
再來要在drawable建立新的xml檔,這裡命名為checkbox_style.xml,此程式碼是讓每個選項多一張圖片在右側顯示。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true" >
<item android:state_pressed="true"
android:drawable="@android:drawable/btn_star" />
<item android:state_checked="true"
android:drawable="@android:drawable/btn_star_big_on" />
<item android:drawable="@android:drawable/btn_star_big_off" />
</selector>
再來是設定背景顏色,檔名為checkbox_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true" >
<item android:state_pressed="true"
android:drawable="@android:color/holo_orange_light" />
<item android:state_checked="true"
android:drawable="@android:color/holo_purple" />
<item android:drawable="@android:color/transparent" />
</selector>
最後就是在原本的checkbox加上這兩行
android:drawableRight="@drawable/checkbox_style"
android:background="@drawable/checkbox_bg"
以下為呈現畫面
是不是與其他人所做出的checkbox不太一樣呢?
今天的教學到這邊,我們明天見。