2.在新建的布局文件中填写想要的布局内容(如下)
3.通过下面的方式完成
如下代码:LinearLayout layout = new LinearLayout(this)
TextView tx = new TextView(this)
tx.setText('我是动态添加的')
layout.addView(tx)
setContentView(layout)
这就动态添加了一个线性布局,并且在布局里面加了一个textview
你的问题应该是要动态生成空间吧。下面的答案可以参考下。
首先要却这个界面的布局,是AbsoluteLayout,RelativeLayout还是其他,然后就可以再里面添加控件了:
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 )
}
一个界面可以布置一个布局,可以多个布局一起设计:
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)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)