欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

android 中动态创建控件,android控件

来源: 开发者 投稿于  被查看 19890 次 评论:93

android 中动态创建控件,android控件


动态生成界面的方法很简单
首先要却这个界面的布局,是AbsoluteLayout,RelativeLayout还是其他,然后就可以再里面添加控件了:

1.[Java]代码

public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	//确定界面的布局
	AbsoluteLayout abslayout=new AbsoluteLayout (this);
	setContentView(abslayout);
	//创建一个button按钮
	Button btn1 = new Button(this);
	btn1.setText(”this is a button”);
	btn1.setId(1);
	//确定这个控件的大小和位置
	AbsoluteLayout.LayoutParams lp1 =
	new AbsoluteLayout.LayoutParams(
	ViewGroup.LayoutParams.WRAP_CONTENT,
	ViewGroup.LayoutParams.WRAP_CONTENT,
	0,100);
	abslayout.addView(btn1, lp1 );

}

2.一个界面可以布置一个布局,可以多个布局一起设计

public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);

	//设置界面的布局
	RelativeLayout relativeLayout = new RelativeLayout(this);
	setContentView(relativeLayout);

	//添加一个AbsoluteLayout子布局,并给这个布局添加一个button
	AbsoluteLayout abslayout=new AbsoluteLayout (this);
	abslayout.setId(11);
	Button btn1 = new Button(this);
	btn1.setText(”this is a abslayout button”);
	btn1.setId(1);
	AbsoluteLayout.LayoutParams lp0 = new AbsoluteLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
	ViewGroup.LayoutParams.WRAP_CONTENT,100,0);
	abslayout.addView(btn1, lp0 );
	//将这个子布局添加到主布局中
	RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
	lp1.addRule(RelativeLayout.ALIGN_PARENT_TOP);
	lp1.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
	relativeLayout.addView(abslayout ,lp1);

	//再添加一个子布局
	RelativeLayout relativeLayout1 = new RelativeLayout(this);
	Button btn2 = new Button(this);
	btn2.setText(”this is a relativeLayout1 button”);
	btn2.setId(2);
	RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
	lp2.addRule(RelativeLayout.ALIGN_PARENT_TOP);
	lp2.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
	relativeLayout1.addView(btn2 ,lp2);

	//将这个布局添加到主布局中
	RelativeLayout.LayoutParams lp11 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
	lp11.addRule(RelativeLayout.BELOW ,11);
	relativeLayout.addView(relativeLayout1 ,lp11);
}

用户评论