- 常用属性
- 自定义样式
- 监听事件
MainActivity以及他对应的.xml文件
package com.example.test0508;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button mBtnRadioButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnRadioButton = findViewById(R.id.btn_radioButton);
mBtnRadioButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,RadioButtonActivity.class);
startActivity(intent);
}
});
}
}
<?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"
android:orientation="vertical">
<Button
android:id="@+id/btn_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"
/>
<Button
android:id="@+id/btn_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="这节课是Button"
/>
<Button
android:id="@+id/btn_editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="EditText"
android:textAllCaps="false"
/>
<!-- 本章博客的内容-->
<Button
android:id="@+id/btn_radioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="RadioButton"
android:textAllCaps="false"
/>
</LinearLayout>
selector_orange
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- selector 根布局-->
<!-- 按压效果-->
<item android:state_checked="true" >
<shape>
<solid android:color="#6633cc" />
<corners android:radius="25dp" />
</shape>
</item>
<!-- 没有按压的时候,用描边显示-->
<item android:state_pressed="false" >
<shape>
<stroke android:width="1dp"
android:color="#6633cc"/>
<corners android:radius="25dp" />
</shape>
</item>
</selector>
正文RadioButtonActivity以及他的配置文件
package com.example.test0508;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
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 radioGroup, int i) {
RadioButton radioButton = radioGroup.findViewById(i);
Toast.makeText(RadioButtonActivity.this,radioButton.getText(),Toast.LENGTH_SHORT).show();
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
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:checked="true"
android:text="男"
android:textColor="#000000"
android:textSize="18sp" />
<RadioButton
android:id="@+id/rb_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:textSize="18sp"
android:textColor="#000000"
/>
</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="40dp"
android:checked="true"
android:gravity="center"
android:text="男"
android:button="@null"
android:background="@drawable/selector_orange"
android:textColor="#000000"
android:textSize="18sp" />
<RadioButton
android:id="@+id/rb_4"
android:layout_width="60dp"
android:layout_height="40dp"
android:gravity="center"
android:text="女"
android:button="@null"
android:background="@drawable/selector_orange"
android:textSize="18sp"
android:textColor="#000000"
android:layout_marginLeft="10dp"
/>
</RadioGroup>
</RelativeLayout>
本文主要介绍了Android中RadioButton的常用属性设置,包括自定义样式、事件监听,同时提供了MainActivity及相应XML布局文件的实例解析。
234

被折叠的 条评论
为什么被折叠?



