Android單選按鈕RadioButton的使用方法
單選按鈕要在一組中選擇一項(xiàng),并且不能多選。
同一組RadioButton要放在同一個(gè)RadioGroup節(jié)點(diǎn)下。
RadioButton默認(rèn)未選中,點(diǎn)擊后選中但是再次點(diǎn)擊不會(huì)取消選中。
RadioButton經(jīng)常會(huì)更換按鈕圖標(biāo),如果通過button屬性變更圖標(biāo),那么圖標(biāo)與文字就會(huì)挨得很近。為了拉開圖標(biāo)與文字之間的距離,得換成drawableLeft屬性展示新圖標(biāo)(不要忘記把button改為@null),再設(shè)置drawablePadding即可指定間隔距離。
復(fù)現(xiàn)代碼時(shí)出現(xiàn)了一個(gè)錯(cuò)誤,處理單選按鈕的響應(yīng),要先寫一個(gè)單選監(jiān)聽器實(shí)現(xiàn)接口 RadioGroup.OnCheckedChangeListener,而不是復(fù)合按鈕的CompoundButton.OnCheckedChangeListener。

MainActivity
package com.example.middle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.RadioGroup.OnCheckedChangeListener;
public class RadioVerticalActivity extends AppCompatActivity implements OnCheckedChangeListener {
private TextView tv_marry; // 聲明一個(gè)文本視圖對(duì)象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_radio_vertical);
// 從布局文件中獲取名叫tv_marry的文本視圖
tv_marry = findViewById(R.id.tv_marry);
// 從布局文件中獲取名叫rg_marry的單選組
RadioGroup rg_marry = findViewById(R.id.rg_marry);
// 給rg_marry設(shè)置單選監(jiān)聽器,一旦用戶點(diǎn)擊組內(nèi)的單選按鈕,就觸發(fā)監(jiān)聽器的onCheckedChanged方法
rg_marry.setOnCheckedChangeListener(this);
}
// 在用戶點(diǎn)擊組內(nèi)的單選按鈕時(shí)觸發(fā)
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.rb_married) {
tv_marry.setText("哇哦,祝你早生貴子");
} else if (checkedId == R.id.rb_unmarried) {
tv_marry.setText("哇哦,你的前途不可限量");
}
}
}
Layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="請(qǐng)選擇您的婚姻狀況"
android:textColor="#000000"
android:textSize="17sp" />
<RadioGroup
android:id="@+id/rg_marry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- 通過button屬性修改單選按鈕的圖標(biāo) -->
<RadioButton
android:id="@+id/rb_unmarried"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:button="@drawable/radio_selector"
android:text="未婚"
android:textColor="#000000"
android:textSize="17sp" />
<!-- 通過drawableLeft屬性修改單選按鈕的圖標(biāo) -->
<RadioButton
android:id="@+id/rb_married"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:button="@null"
android:drawableLeft="@drawable/radio_selector"
android:drawablePadding="10dp"
android:text="已婚"
android:textColor="#000000"
android:textSize="17sp" />
</RadioGroup>
<TextView
android:id="@+id/tv_marry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="17sp" />
</LinearLayout>
result

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android CheckBox中設(shè)置padding無效解決辦法
- Android開發(fā)之CheckBox的簡單使用與監(jiān)聽功能示例
- Android 中CheckBox多項(xiàng)選擇當(dāng)前的position信息提交的示例代碼
- Android 中CheckBox的isChecked的使用實(shí)例詳解
- Android開發(fā)手冊(cè)自定義Switch開關(guān)按鈕控件
- Android開關(guān)控件Switch的使用案例
- Android 自定義Switch開關(guān)按鈕的樣式實(shí)例詳解
- Android UI控件Switch的使用方法
- Android復(fù)選框CheckBox與開關(guān)按鈕Switch及單選按鈕RadioButton使用示例詳解
相關(guān)文章
Android畢業(yè)設(shè)計(jì)備忘錄APP
這篇文章主要介紹了一個(gè)Android畢業(yè)設(shè)計(jì)備忘錄APP,它很小,但是功能很全,可實(shí)現(xiàn)添加、刪除、修改、查看的功能,使用Java語言開發(fā),風(fēng)格簡練2021-08-08
Android開發(fā)中PopupWindow用法實(shí)例分析
這篇文章主要介紹了Android開發(fā)中PopupWindow用法,結(jié)合實(shí)例形式分析了PopupWindow彈出窗口效果的使用技巧,需要的朋友可以參考下2016-02-02
關(guān)于android studio升級(jí)4.1 某些插件使用不了的問題(Mac)
這篇文章主要介紹了關(guān)于android studio升級(jí)4.1 某些插件使用不了的問題(Mac),本文給大家分享解決方法供大家參考,感興趣的朋友跟隨小編一起看看吧2020-10-10
Android顯示網(wǎng)絡(luò)圖片實(shí)例
這篇文章主要介紹了Android顯示網(wǎng)絡(luò)圖片的方法,以實(shí)例形式展示了Android程序顯示網(wǎng)絡(luò)圖片的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10
Android仿京東頂部搜索框滑動(dòng)伸縮動(dòng)畫效果
這篇文章主要為大家詳細(xì)介紹了Android仿京東頂部搜索框滑動(dòng)伸縮動(dòng)畫效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
android Handler詳細(xì)使用方法實(shí)例
本文主要介紹Android中Handler的簡單使用方法,Handler跟多線程,消息隊(duì)列聯(lián)系很緊密,在平常的實(shí)際程序開發(fā)中比較常見。本文分為4個(gè)簡單的例子來學(xué)校handler2013-11-11
Android使用httpPost向服務(wù)器發(fā)送請(qǐng)求的方法
這篇文章主要介紹了Android使用httpPost向服務(wù)器發(fā)送請(qǐng)求的方法,實(shí)例分析了Android針對(duì)HttpPost類的操作技巧,需要的朋友可以參考下2015-12-12
Android在fragment中編寫toobar的步驟詳解
這篇文章主要介紹了Android在fragment中編寫toobar,本文分步驟通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01

