android动态生成控件

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);
}

 原文来自:  http://www.oschina.net/code/snippet_163910_6212

猜你喜欢

转载自lqzit.iteye.com/blog/1994057