昨天我们已经学习了View视图,那么今天,我们就来了解一下单选和多选按钮。
下面,我们现在说一下单选按钮:
单选按钮:
RadioButton是TextView的子类,所以,TextView的属性RadioButton都有
RadioButton:点选按钮,如果想要互斥效果,必须配合RadioGroup使用
例如:
<RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content"> <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>
其中:wrap_content是自动设置宽高(根据按钮和文本的大小,自动设置)
android:checked="true|false" 设置默认选中状态,默认是不选中(如果同时默认多个按钮选中,则只默认选中最后一个)
例如:
<RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="14" android:checked="true" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="13" android:checked="true" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="12" android:checked="true" /> </RadioGroup>
单选按钮组的事件监听器OnCheckedChangedListener()
public class examActivty extends AppCompatActivity { private RadioGroup bg; private RadioButton btn1; private RadioButton btn2; private RadioButton btn3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_exam_activty); bg = findViewById(R.id.bg); btn1 = findViewById(R.id.btn1); btn2 = findViewById(R.id.btn2); btn3 = findViewById(R.id.btn3); bg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch(checkedId){ case R.id.btn1 : Toast.makeText(examActivty.this,"14",Toast.LENGTH_SHORT).show(); ;break; case R.id.btn2 : Toast.makeText(examActivty.this,"13",Toast.LENGTH_SHORT).show(); ;break; case R.id.btn3 : Toast.makeText(examActivty.this,"12",Toast.LENGTH_SHORT).show(); ;break; } } }); } }
其中Toast的意思是提示,
Toast.makeText(context:包名.this,text:"弹出的内容",Toast.Length_Short).show()
多选框CheckBox:
<CheckBox android:id="@+id/cb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="A"/> <CheckBox android:id="@+id/cb2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="B"/> <CheckBox android:id="@+id/cb3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="C"/> <CheckBox android:id="@+id/cb4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="D"/>
多选框的监听事件:
private CheckBox cb1; private CheckBox cb2; private CheckBox cb3; private CheckBox cb4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cb1 = findViewById(R.id.cb1); cb2 = findViewById(R.id.cb2); cb3 = findViewById(R.id.cb3); cb4 = findViewById(R.id.cb4); cb1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.i("enen","1"); } });