前言:不要担心别人会做得比你好,你只需要每天都做得比前一天好就可以了。成长是一场和自己的比赛。
单选按钮
单选按钮就是只能够选中一个的常见的就是对于性别的选择。
单选按钮的控件是RadioButton但是单选按钮不能单独使用,需要放在RadioGroup按钮组里面嵌套使用,从而实现单选功能!
而RadioGroup可以通过设置orientation属性改变布局排列方向。如图:
图一:是设置了RadioGroup属性orientation="horizontal"为水平排列的
图二:是设置了RadioGroup属性orientation="vertical"为向垂直排列的
<RadioGroup
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#58ECAB">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"/>
</RadioGroup>
通过java代码来控制改变选择的变化。
//通过id名找到相对应的控件
radioGroup = findViewById(R.id.radioGroup);
//监听器,主要监听相对应控件的变化
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
RadioButton radbtn = (RadioButton) findViewById(i);
Toast.makeText(getApplicationContext(), "按钮组值发生改变,你选了" + radbtn.getText(), Toast.LENGTH_SHORT).show();
}
});
CheckBox:复选按钮
它是单独的存在,不需要喝那个嵌套才能使用,不过为了更方便使用它,一般在外层用 LinearLayout来包裹他,这样可以更方便使用,当然也可以使用其他布局来包裹的。如图1-1、1-2所示
复选按钮也叫复选框。就字面意思即可以同时选中多个选项,也可以取消选择状态。可以反复操作这也正常表明了复字的意思。 他的选择也和单选按钮一样通过java代码来选择和取消选中的状态。
1-1
1-2
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#E8C356">
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="篮球"/>
<CheckBox
android:id="@+id/checkbox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="足球"/>
<CheckBox
android:id="@+id/checkbox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="乒乓球"/>
<CheckBox
android:id="@+id/checkbox4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="羽毛球"/>
</LinearLayout>
可以通过设置来改变复选框的按钮颜色和样式,单选框同样有用
//设置颜色根据自己要求和项目要求自行选择
android:buttonTint="@color/purple_700"
//这是设置方形的框框
style="@style/Widget.AppCompat.CompoundButton.CheckBox"
//这是设置圆形的框
style="@style/Widget.AppCompat.CompoundButton.RadioButton"
路虽远,行则将至;事虽难,做则必成。