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中使用
来设定内部RadioButton的排列方式,horizontal为水平,vertical为垂直。
- 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; }
}
};