Android小白,初次学习,笔记自用,敬请指正~😛
有帮助记得一键三连呀(点赞收藏关注)😁
一,学习内容:
1,重要属性:
<RadioGroup
android:orientation="vertical|horizontal">//单选组内各选项排列方式
<RadioButton
android:checked="true|false"/>//设置是否默认选中此选项
</RadioGroup>
2,自定义样式:
<RadioButton/>里面:
android:button="@null" //去掉选项前的圆圈
android:gravity="center" //文字居中显示
android:background="自定义设置xml文件,具体见最后selector_orange.xml"
二,效果演示:
三,完整代码:
1,activity_main.xml
<Button
android:id="@+id/btn_radiobutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="RadioButton"
android:textAllCaps="false"/>
2,MainActivity.java
mBtnRadioButton = findViewById(R.id.btn_radiobutton);
mBtnRadioButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳转到RadioButton演示界面
Intent intent = new Intent(MainActivity.this,RadioButtonActivity.class);
startActivity(intent);
}
});
3,activity_radio_button.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="15dp">
<RadioGroup
android:id="@+id/rg_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/rb_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:textSize="20sp"
android:textColor="#FF9900"
android:checked="true"/>
<RadioButton
android:id="@+id/rb_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:textSize="20sp"
android:textColor="#FF9900"/>
</RadioGroup>
<RadioGroup
android:id="@+id/rg_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_below="@id/rg_1"
android:layout_marginTop="50dp">
<RadioButton
android:id="@+id/rb_3"
android:layout_width="60dp"
android:layout_height="30dp"
android:text="男"
android:textSize="20sp"
android:textColor="#000000"
android:gravity="center"
android:checked="true"
android:button="@null"
android:background="@drawable/selector_orange"/>
<RadioButton
android:id="@+id/rb_4"
android:layout_width="60dp"
android:layout_height="30dp"
android:text="女"
android:textSize="20sp"
android:textColor="#000000"
android:gravity="center"
android:button="@null"
android:background="@drawable/selector_orange"
android:layout_marginLeft="20dp"/>
</RadioGroup>
</RelativeLayout>
4,RadioButtonActivity.java
package com.example.learning;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class RadioButtonActivity extends AppCompatActivity {
private RadioGroup mRg1;//声明控件
@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();
}
});
}
}
5,selector_orange.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">//选中时的状态
<shape>
<solid
android:color="#AA6600"/>
<corners
android:radius="5dp"/>
</shape>
</item>
<item android:state_checked="false">//未选中时的状态
<shape>
<stroke
android:width="1dp"
android:color="#AA6600"/>
<corners
android:radius="5dp"/>
</shape>
</item>
</selector>
相关笔记直通车:
Android学习笔记(一)——LinearLayout
Android学习笔记(二)——RelativeLayout
Android学习笔记(三)——TextView
Android学习笔记(四)——Button
Android学习笔记(五)——EditView