除了通过从调色板中拖放来创建RadioButton之外,android还可以帮助你以编程方式(动态)创建它。为了创建动态RadioButton,我们需要使用android.view.ViewGroup.LayoutParams,它配置视图的宽度和高度并实现RadioGroup类的setOnCheckedChangeListener()方法。
动态单选按钮的示例
【android动态radiobutton】让我们看一个动态RadioButton的例子。
activity_main.xml
文件:activity_main.xml
<
?xml version="1.0" encoding="utf-8"?>
<
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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"
android:id="@+id/relativeLayout"
tools:context="com.example.test.dynamicradiobutton.MainActivity"><
/RelativeLayout>
活动类
文件:MainActivity.java
package com.example.test.dynamicradiobutton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
RadioGroup rg;
RelativeLayout rl;
RadioButton rb1, rb2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rg = new RadioGroup(this);
rl = (RelativeLayout) findViewById(R.id.relativeLayout);
rb1 = new RadioButton(this);
rb2 = new RadioButton(this);
rb1.setText("Male");
rb2.setText("Female");
rg.addView(rb1);
rg.addView(rb2);
rg.setOrientation(RadioGroup.HORIZONTAL);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams((int) LayoutParams.WRAP_CONTENT, (int)LayoutParams.WRAP_CONTENT);
params.leftMargin =150;
params.topMargin = 100;
rg.setLayoutParams(params);
rl.addView(rg);
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton radioButton = (RadioButton) findViewById(checkedId);
Toast.makeText(getApplicationContext(), radioButton.getText(), Toast.LENGTH_LONG).show();
}
});
}
}
文章图片
文章图片
推荐阅读
- android自定义radiobutton
- android radiobutton用法
- android自定义复选框
- android复选框例子
- Android的学习第六章(布局一LinearLayout)
- ubuntu 安装eclipse,adt,android sdk,离线
- CrashMonkey4Android 的安装及使用
- Android 触摸手势基础 官方文档概览2
- 通过android studio上传项目到github