失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android Studio基础单选按钮RadioButton

Android Studio基础单选按钮RadioButton

时间:2020-04-12 16:09:14

相关推荐

Android Studio基础单选按钮RadioButton

Android Studio基础单选按钮RadioButton

1、单选按钮RadioButton:多个只能选择一个,必须结合RadioGroup控件使用,才能实现单选的特性。

第一种情况:没有结合RadioGroup控件使用,默认垂直布局

第二种情况:结合RadioGroup控件平行布局

第三种情况:结合RadioGroup控件垂直布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮文本"android:textSize="40sp"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/select_login_btn"android:textSize="40sp"android:onClick="login"/><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/select_login_btn"android:textSize="50sp"android:text="匿名内部类方法"/><EditTextandroid:id="@+id/et_01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="只能输入数字"android:textSize="30sp"android:textColorHint="@android:color/holo_red_dark"android:inputType="number"/><EditTextandroid:id="@+id/et_02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="文本输入"android:textSize="30sp"android:textColorHint="@android:color/holo_red_dark"/><EditTextandroid:id="@+id/et_03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="输入密码"android:textSize="30sp"android:textColorHint="@android:color/holo_red_dark"android:inputType="textPassword"/><ImageViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@mipmap/ic_launcher"/><ImageViewandroid:layout_width="match_parent"android:layout_height="100dp"android:src="@mipmap/ic_launcher"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"/><RadioGroupandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"/></RadioGroup><RadioGroupandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"/></RadioGroup></LinearLayout>

运行app的效果

2、单选按钮的使用切换事件

第一步:在项目的布局文件中增加ID值

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮文本"android:textSize="40sp"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/select_login_btn"android:textSize="40sp"android:onClick="login"/><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/select_login_btn"android:textSize="50sp"android:text="匿名内部类方法"/><EditTextandroid:id="@+id/et_01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="只能输入数字"android:textSize="30sp"android:textColorHint="@android:color/holo_red_dark"android:inputType="number"/><EditTextandroid:id="@+id/et_02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="文本输入"android:textSize="30sp"android:textColorHint="@android:color/holo_red_dark"/><EditTextandroid:id="@+id/et_03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="输入密码"android:textSize="30sp"android:textColorHint="@android:color/holo_red_dark"android:inputType="textPassword"/><ImageViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@mipmap/ic_launcher"/><ImageViewandroid:layout_width="match_parent"android:layout_height="100dp"android:src="@mipmap/ic_launcher"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"/><RadioGroupandroid:id="@+id/rg_gender"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"><RadioButtonandroid:id="@+id/rb_male"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"/><RadioButtonandroid:id="@+id/female"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"/></RadioGroup><RadioGroupandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"/></RadioGroup></LinearLayout>

第二步:到MainActivity.java文件中绑定布局的切换按钮事件ID值,并添加相应的事件。

package com.xwb.btn1;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.RadioGroup;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_btn);//设置的布局界面//final:变量(一般为常量,即值不可以被修改);类(不能被继承,俗称太监类);方法(不能被重写)//EditText et_01中的et_01为MainActivity.java的变量值,来绑定布局中R.id.et_01final EditText et_01 = findViewById(R.id.et_01);final EditText et_02 = findViewById(R.id.et_02);final EditText et_03 = findViewById(R.id.et_03);btn2 = findViewById(R.id.btn2);//匿名内部类btn2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.i("MainActivity","匿名内部类被点击");Log.i("et_01",et_01.getText().toString());//log信息打印出来。log.i只能打印stringLog.i("et_02",et_02.getText().toString());Log.i("et_03",et_03.getText().toString());}});RadioGroup reg_gender = findViewById(R.id.rg_gender);//添加切换事件,也可以添加点击事件reg_gender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {}});}//点击事件方法,注意public void 方法名(View v),当中方法名与v可以自定义public void login(View v) {Log.i("MainActivity","按钮被点击");}//定义匿名内部类按钮事件的属性private Button btn2;}

划红线框内此时使用默认的方式,相识于匿名内部类的方式。

这边换一种使用接口方式添加。步骤如下:

第1步:选中框内内容全部剪切掉,复制出接口RadioGroup.OnCheckedChangeListener

第2步:1)转到类public class MainActivity extends AppCompatActivity 的后面进行粘贴implements RadioGroup.OnCheckedChangeListener

第3步:类中导入接口后,使接口实现抽象的方法

第4步:把该接口添加到监听当中

第5步:编写抽象接口方式中内容

package com.xwb.btn1;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.RadioGroup;public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_btn);//设置的布局界面//final:变量(一般为常量,即值不可以被修改);类(不能被继承,俗称太监类);方法(不能被重写)//EditText et_01中的et_01为MainActivity.java的变量值,来绑定布局中R.id.et_01final EditText et_01 = findViewById(R.id.et_01);final EditText et_02 = findViewById(R.id.et_02);final EditText et_03 = findViewById(R.id.et_03);btn2 = findViewById(R.id.btn2);//匿名内部类btn2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.i("MainActivity","匿名内部类被点击");Log.i("et_01",et_01.getText().toString());//log信息打印出来。log.i只能打印stringLog.i("et_02",et_02.getText().toString());Log.i("et_03",et_03.getText().toString());}});RadioGroup reg_gender = findViewById(R.id.rg_gender);//添加切换事件,也可以添加点击事件reg_gender.setOnCheckedChangeListener(this);}//点击事件方法,注意public void 方法名(View v),当中方法名与v可以自定义public void login(View v) {Log.i("MainActivity","按钮被点击");}//定义匿名内部类按钮事件的属性private Button btn2;@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {//checkedId为选中的按钮switch (checkedId) {case R.id.rb_male:Log.i("onCheckedChanged","男");break;case R.id.rb_female:Log.i("onCheckedChanged","女");break;}}}

第三步:运行APP的效果,在logcat中可以看到点击男或女时有记录信息。

如果觉得《Android Studio基础单选按钮RadioButton》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。