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
);
Buttonbtn1 =
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);
}
以上代码执行的操作是:
创建一个RelativeLayoutrelativeLayou
创建一个AbsoluteLayoutabslayout
创建一个Button btn1
把btn1 添加到abslayout中,然后再把abslayout添加到relativeLayou 中
然后又创建了一个RelativeLayoutrelativeLayout1
在创建一个Buttonbtn2
把btn2 添加到relativeLayout1上
最后把relativeLayout1添加到了relativeLayout