常用属性
单个选择
<RadioButton
android:id="@+id/rd_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:textSize="28sp"
android:textColor="#FF9900"
/>
效果如图
多选一 使用RadioGroup标签
<RadioGroup
android:id="@+id/rg_1"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<RadioButton
android:id="@+id/rd_01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:checked="true"
android:textSize="28sp"
android:textColor="#FF9900"
/>
<RadioButton
android:id="@+id/rd_02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:textSize="28sp"
android:textColor="#FF9900"
/>
</RadioGroup>
android:checked=“true” 默认选中 (必须全部设置有id才能生效 )
自定义选中效果
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<!--选中时状态定义-->
<shape>
<solid android:color="#FFCF88"/>
<corners android:radius="15dp"/>
</shape>
</item>
<item android:state_checked="false">
<!--非选中时状态定义-->
<shape>
<stroke android:width="6dp"
android:color="#FF6600"/>
<corners android:radius="15dp"/>
</shape>
</item>
</selector>
监听事件
选中时弹出提示
public class RadioButtonActivity extends AppCompatActivity {
private RadioGroup mrg1;
@SuppressLint("WrongViewCast")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_radio_button);
mrg1 = findViewById(R.id.rg_1);
mrg1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton radioButton = group.findViewById(checkedId);
Toast.makeText(RadioButtonActivity.this,radioButton.getText(),Toast.LENGTH_SHORT).show();
}
});
}
}