您的位置:首页 > 移动开发 > Android开发

android中radioGroup动态添加radioButton

2017-03-23 17:13 288 查看
radioGroup这个控件相信大家都有已经早已熟练了吧,这个控件也是很好用的,但是现在的需求是,根据网络获取的数据,来生成加载radioButton,这样的话,我们只能动态加载radioButton,因此我们今天就来介绍一下radioGroup动态添加radioButton:

1.首先看我们的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.administrator.radiogroupdynamicloadingdemo.MainActivity">

<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</ScrollView>


2.我们在写一个名为radio_bg的selector:

<?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/blue"/>
<item android:state_checked="false" android:drawable="@drawable/white"/>
</selector>


3.然后在MainActivity中使用:

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

private RadioGroup radioGroup;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioGroup = (RadioGroup) findViewById(R.id.radioGroup);

for (int i = 0; i < 10; i++) {
RadioButton radioButton = new RadioButton(this);
RadioGroup.LayoutParams lp = new RadioGroup.LayoutParams(RadioGroup.LayoutParams.WRAP_CONTENT, RadioGroup.LayoutParams.WRAP_CONTENT);
//设置RadioButton边距 (int left, int top, int right, int bottom)
lp.setMargins(15,0,0,0);
//设置RadioButton背景
//radioButton.setBackgroundResource(R.drawable.xx);
//设置RadioButton的样式
radioButton.setButtonDrawable(R.drawable.radio_bg);
//设置文字距离四周的距离
radioButton.setPadding(80, 0, 0, 0);
//设置文字
radioButton.setText("this is radioButton  " + i);
final int finalI = i;
//设置radioButton的点击事件
radioButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "this is radioButton  " + finalI, Toast.LENGTH_SHORT).show();
}
});
//将radioButton添加到radioGroup中
radioGroup.addView(radioButton);
}
}
}


4.效果图如下:



5.demo地址:

http://download.csdn.net/detail/afanbaby/9791444

本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,希望大家一起学习进步!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息