Android基础控件RadioGroup使用方法详解
程序员文章站
2023-10-31 08:38:04
本文为大家分享了android基础控件radiogroup的使用,供大家参考,具体内容如下
1.简单介绍
radiogroup可以提供几个选项供用户选择,但只能选择其中的一个。其下...
本文为大家分享了android基础控件radiogroup的使用,供大家参考,具体内容如下
1.简单介绍
radiogroup可以提供几个选项供用户选择,但只能选择其中的一个。其下面可以横着或者竖着挂几个radiobutton,也可以挂载其他控件(如textview)。radiogroup的相应事件一般不由下面的radiobutton响应,而是直接由radiogroup响应。实现radiogroup.oncheckedchangelistener接口即可监听radiogroup。radiobutton也是派生自compoundbutton,也可以通过修改button属性来修改图标,但是通过button属性修改往往会使文字和图标挨得很近。这时候我们可以设置radiobutton的drawableleft属性和drawablepadding属性来使图标和文字挨得远一点(同时把button属性设置成@null)。下图是radiogroup的使用效果。
2.简单使用
下面是radiogroup的简单实现代码。
radio_group_selector.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--选中--> <item android:state_checked="true" android:drawable="@drawable/radio_choose"/> <!--普通状态--> <item android:drawable="@drawable/radio_unchoose"/> </selector>
activity_radio_group.xml
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".radiogroupactivity" android:orientation="vertical"> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:textsize="18sp" android:textcolor="#000000" android:text="这是横着放的radiogroup"/> <radiogroup android:id="@+id/rg_horizontal_demo" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <radiobutton android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:checked="false" android:text="好" android:textsize="18sp" android:id="@+id/rb_horizontal_good" android:textcolor="#000000"/> <radiobutton android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:checked="false" android:text="很好" android:textsize="18sp" android:id="@+id/rb_horizontal_very_good" android:textcolor="#000000"/> </radiogroup> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:textsize="18sp" android:textcolor="#000000" android:text="这是竖着放的radiogroup"/> <radiogroup android:id="@+id/rg_vertical_demo" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <radiobutton android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:checked="false" android:text="好" android:textsize="18sp" android:id="@+id/rb_vertical_good" android:textcolor="#000000"/> <radiobutton android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:checked="false" android:text="很好" android:textsize="18sp" android:id="@+id/rb_vertical_very_good" android:textcolor="#000000"/> </radiogroup> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:textsize="18sp" android:textcolor="#000000" android:text="这是改了图标竖着放的radiogroup"/> <radiogroup android:id="@+id/rg_vertical_custom_demo" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <radiobutton android:button="@drawable/radio_button_selector" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:checked="false" android:text="这个是直接设置button的radiobutton" android:textsize="18sp" android:id="@+id/rb_vertical_custom_good" android:textcolor="#000000"/> <radiobutton android:button="@null" android:drawableleft="@drawable/radio_button_selector" android:drawablepadding="10dp" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:checked="false" android:text="这个是设置drawableleft属性的radiobutton" android:textsize="18sp" android:id="@+id/rb_vertical_custom_very_good" android:textcolor="#000000"/> </radiogroup> </linearlayout>
radiogroupactivity.java
package xyz.strasae.androidlearn.my; import androidx.appcompat.app.appcompatactivity; import android.os.bundle; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.toast; public class radiogroupactivity extends appcompatactivity { radiogroup rg_horizontal_demo; radiogroup rg_vertical_demo; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_radio_group); rg_horizontal_demo = findviewbyid(r.id.rg_horizontal_demo); rg_vertical_demo = findviewbyid(r.id.rg_vertical_demo); rg_horizontal_demo.setoncheckedchangelistener(new radiogroup.oncheckedchangelistener() { @override public void oncheckedchanged(radiogroup radiogroup, int i) { radiobutton rb_temp = findviewbyid(radiogroup.getcheckedradiobuttonid()); toast.maketext(radiogroupactivity.this, string.format("你选择了%s", rb_temp.gettext().tostring()), toast.length_short).show(); } }); rg_vertical_demo.setoncheckedchangelistener(new radiogroup.oncheckedchangelistener() { @override public void oncheckedchanged(radiogroup radiogroup, int i) { radiobutton rb_temp = findviewbyid(radiogroup.getcheckedradiobuttonid()); toast.maketext(radiogroupactivity.this, string.format("你选择了%s", rb_temp.gettext().tostring()), toast.length_short).show(); } }); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 糖尿病饮食禁忌 五个要点要牢记
下一篇: Unity实现虚拟摇杆效果