Android 單選隊(duì)列 RadioGroup與RadioButton詳解

RadioButton(單選按鈕)在Android開(kāi)發(fā)中應(yīng)用的非常廣泛,比如一些選擇項(xiàng)的時(shí)候亿卤,會(huì)用到單選按鈕。它是一種單選框雙狀態(tài)的按鈕,可以選擇或不選擇。在RadioButton沒(méi)有被選中時(shí)胳螟,用戶能夠按下或點(diǎn)擊來(lái)選中它。

RadioGroup和RadioButton的關(guān)系:

1迁沫、RadioButton表示單個(gè)圓形單選框写妥,而RadioGroup是可以容納多個(gè)RadioButton的容器

2、每個(gè)RadioGroup中的RadioButton同時(shí)只能有一個(gè)被選中

3富纸、不同的RadioGroup中的RadioButton互不相干囤踩,即如果組A中有一個(gè)選中了,組B中依然可以有一個(gè)被選中

4晓褪、大部分場(chǎng)合下堵漱,一個(gè)RadioGroup中至少有2個(gè)RadioButton

5、大部分場(chǎng)合下涣仿,一個(gè)RadioGroup中的RadioButton默認(rèn)會(huì)有一個(gè)被選中勤庐,并建議您將它放在RadioGroup中的起

始位置

注: RadioGroup繼承至LinearLayout,所以LinearLayout的屬性RadioGroup都可以使用好港。

RadioButton特殊屬性:

  • android:drawable 設(shè)置圖片可以選著圖片位置
  • android:checked 控件是否選中
  • android:button 隱藏圓圈

注:button基本屬性就不做細(xì)講

XML 代碼:

  <RadioGroup
        android:id="@+id/main_radiogroup"
        android:layout_width="match_parent"
        android:layout_height="@dimen/activity_main_radiogroup_height"
        android:background="@color/colorWhite"
        android:orientation="horizontal">
        <RadioButton
            android:id="@+id/main_radiobutton_weixing"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textColor="@color/activity_main_radiobutton_text_color"
            android:textSize="@dimen/activity_main_radiobutton_text_size"
            android:text="@string/main_radiobutton_weixing"
            android:drawableTop="@drawable/radiobutton_main_weixing"
            android:gravity="center"
            android:checked="true"
            android:button="@null"
            android:background="@null"/>
        <RadioButton
            android:id="@+id/main_radiobutton_contacts"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textColor="@color/activity_main_radiobutton_text_color"
            android:textSize="@dimen/activity_main_radiobutton_text_size"
            android:text="@string/main_radiobutton_contects"
            android:drawableTop="@drawable/radiobutton_main_contacts"
            android:gravity="center"
            android:button="@null"
            android:background="@null"/>
        <RadioButton
            android:id="@+id/main_radiobutton_find"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textColor="@color/activity_main_radiobutton_text_color"
            android:textSize="@dimen/activity_main_radiobutton_text_size"
            android:text="@string/main_radiobutton_find"
            android:drawableTop="@drawable/radiobutton_main_find"
            android:gravity="center"
            android:button="@null"
            android:background="@null"/>
        <RadioButton
            android:id="@+id/main_radiobutton_my"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textColor="@color/activity_main_radiobutton_text_color"
            android:textSize="@dimen/activity_main_radiobutton_text_size"
            android:text="@string/main_radiobutton_my"
            android:drawableTop="@drawable/radiobutton_main_my"
            android:gravity="center"
            android:button="@null"
            android:background="@null"/>
    </RadioGroup>

Activity監(jiān)聽(tīng)代碼:

 private void monitoringRadioGrop(){
        mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId){
                    case R.id.main_radiobutton_weixing:
                        showToast(R.string.main_radiobutton_weixing);
                        break;
                    case R.id.main_radiobutton_contacts:
                        showToast(R.string.main_radiobutton_contects);
                        break;
                    case R.id.main_radiobutton_find:
                        showToast(R.string.main_radiobutton_find);
                        break;
                    case R.id.main_radiobutton_my:
                        showToast(R.string.main_radiobutton_my);
                        break;
                    default:
                        Log.d(TAG,"怎么監(jiān)聽(tīng)的????");
                        break;
                }
            }
        });
    }

圖片:radiobutton_main_weixing 實(shí)現(xiàn)愉镰,在res/drawable新建XML:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 未選中-->
    <item android:drawable="@drawable/radiobutton_main_weixing_no" android:state_checked="false" />
    <!--選中-->
    <item android:drawable="@drawable/radiobutton_main_weixing_yes" android:state_checked="true" />
</selector>

文本顏色修改:activity_main_radiobutton_text_color,在res下新建color文件夾在新建XML:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"
    android:color="@color/button_app_main_yes_text"/>
    <!-- not selected -->
    <item android:state_checked="false"
        android:color="@color/button_app_main_no_text"/>
</selector>

效果圖:

這里寫(xiě)圖片描述

希望對(duì)你們有幫助钧汹,O(∩_∩)O謝謝U商健!拔莱!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末碗降,一起剝皮案震驚了整個(gè)濱河市隘竭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讼渊,老刑警劉巖动看,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異爪幻,居然都是意外死亡菱皆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門笔咽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)搔预,“玉大人,你說(shuō)我怎么就攤上這事叶组≌铮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵甩十,是天一觀的道長(zhǎng)船庇。 經(jīng)常有香客問(wèn)我,道長(zhǎng)侣监,這世上最難降的妖魔是什么鸭轮? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮橄霉,結(jié)果婚禮上窃爷,老公的妹妹穿的比我還像新娘。我一直安慰自己姓蜂,他們只是感情好按厘,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著钱慢,像睡著了一般逮京。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上束莫,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天懒棉,我揣著相機(jī)與錄音,去河邊找鬼览绿。 笑死策严,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的挟裂。 我是一名探鬼主播享钞,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了栗竖?” 一聲冷哼從身側(cè)響起暑脆,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狐肢,沒(méi)想到半個(gè)月后添吗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡份名,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年碟联,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片僵腺。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鲤孵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辰如,到底是詐尸還是另有隱情普监,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布琉兜,位于F島的核電站凯正,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏豌蟋。R本人自食惡果不足惜廊散,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梧疲。 院中可真熱鬧允睹,春花似錦、人聲如沸幌氮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)浩销。三九已至,卻和暖如春听哭,著一層夾襖步出監(jiān)牢的瞬間慢洋,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工陆盘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留普筹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓隘马,卻偏偏與公主長(zhǎng)得像太防,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子酸员,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容