RadioGroup與RaidioButton的使用

Xml佈局:

<RadioGroup
    android:id="@+id/rg_login_type"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:gravity="center"
    android:orientation="horizontal">

    <RadioButton
        android:id="@+id/rb_online"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/selector_bg_rbt_online"
        android:button="@null"
        android:checked="true"
        android:gravity="center"
        android:paddingBottom="2dp"
        android:paddingLeft="8dp"
        android:paddingRight="8dp"
        android:paddingTop="2dp"
        android:text="在線"
        android:textColor="@drawable/selector_main_rbt_text" />

    <RadioButton
        android:id="@+id/rb_outline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/selector_bg_rbt_outline"
        android:button="@null"
        android:gravity="center"
        android:paddingBottom="2dp"
        android:paddingLeft="8dp"
        android:paddingRight="8dp"
        android:paddingTop="2dp"
        android:text="離線"
        android:textColor="@drawable/selector_main_rbt_text" />
</RadioGroup>

在RadioGroup中使用

  1. android:orientation="horizontal"  
來設定內部RadioButton的排列方式,horizontal爲水平,vertical爲垂直。

  1. android:checkedButton="@+id/rb_online"  

   設置RadioGroup內默認選中的RadioButton。


在RadioButton中使用

1.android:checked="true"

設置RadioButton內默認選中的RadioButton。


 2.android:button="@null"
爲了去掉系統默認的小圓點圖標,可以自定義圖標

3.   設置背景,字體顏色

android:background="@drawable/selector_bg_rbt_outline"
 android:textColor="@drawable/selector_main_rbt_text"
背景圖片:注意使用 android:state_checked

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_checked="true">
        <shape android:shape="rectangle">
            <stroke android:width="0.2dp" android:color="@color/blue002"></stroke>
            <solid android:color="@color/blue002"></solid>
            <corners android:bottomLeftRadius="4dp" android:topLeftRadius="4dp"></corners>
        </shape>
    </item>

    <item android:state_checked="false">
        <shape android:shape="rectangle">
            <stroke android:width="0.2dp" android:color="@color/blue002"></stroke>
            <solid android:color="@android:color/transparent"></solid>
            <corners android:bottomLeftRadius="4dp" android:topLeftRadius="4dp"></corners>
        </shape>
    </item>

</selector>

字體顏色:注意使用 android:state_checked

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/gray003" android:state_checked="true" />
    <item android:color="@color/gray002" android:state_checked="false" />
</selector>

背景圖片框架,字體顏色根據自己需求設置


代碼中的操作:

     @BindView(R.id.rg_login_type)
     RadioGroup rgLoginType;


     rgLoginType.setOnCheckedChangeListener(this);

/**
 * 在線離線RadioGroup監聽器
 */
private RadioGroup.OnCheckedChangeListener mRgCheckedChangeListener = new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        switch (checkedId) {
            case R.id.rb_online:
                //操作處理
                break;
            case R.id.rb_outline:   
                //操作處理
break; }
}
};









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章