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中使用
- android:orientation="horizontal"
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; }
}
};