/res/drawable/radiobuttonpic.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/radiobutton_on_bg"/>
<!-- 组件非选中时的状态图片 -->
<item
android:state_checked="false"
android:drawable="@drawable/radiobutton_off_bg"/>
</selector>
/res/layout/main.xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFFFF"
android:padding="10dip">
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/rb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="水蜜桃"
android:textColor="#FF000000"
android:button="@drawable/radiobuttonpic"/>
<RadioButton
android:id="@+id/rb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="苹果"
android:textColor="#FF000000"
android:button="@drawable/radiobuttonpic"/>
<RadioButton
android:id="@+id/rb3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="荔枝"
android:textColor="#FF000000"
android:button="@drawable/radiobuttonpic"/>
</RadioGroup>
<TextView
android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#FF000000"
android:text="您选择的是:"/>
<Button
android:id="@+id/btnClear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清楚"
/>
</LinearLayout>
Java代码如下:
package com.demo.android.radio;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView result;
private Button btnClear;
private RadioGroup radioGroup;
private RadioButton rb1;
private RadioButton rb2;
private RadioButton rb3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViews();
setListeners();
}
private void setListeners() {
//清楚按钮点击
btnClear.setOnClickListener(btnClearOnClickListener);
//单选框点击
radioGroup.setOnCheckedChangeListener(radioGroupOnCheckedChangeListener);
}
private OnCheckedChangeListener radioGroupOnCheckedChangeListener=new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(checkedId==rb1.getId()){
result.setText("您选择的是:"+rb1.getText().toString());
}else if(checkedId==rb2.getId()){
result.setText("您选择的是:"+rb2.getText().toString());
}else if(checkedId==rb3.getId()){
result.setText("您选择的是:"+rb3.getText().toString());
}else{
group.clearCheck();
result.setText("您选择的是:");
}
}
};
private View.OnClickListener btnClearOnClickListener=new View.OnClickListener() {
@Override
public void onClick(View v) {
radioGroup.clearCheck();
result.setText("您选择的是:");
}
};
private void findViews() {
btnClear=(Button) findViewById(R.id.btnClear);
result=(TextView) findViewById(R.id.result);
radioGroup=(RadioGroup) findViewById(R.id.radioGroup);
rb1=(RadioButton) findViewById(R.id.rb1);
rb2=(RadioButton) findViewById(R.id.rb2);
rb3=(RadioButton) findViewById(R.id.rb3);
}
}
效果如下: