android动态布局方法小结

1.绝对布局,动态添加组件:

 AbsoluteLayout abslayout = new AbsoluteLayout (this);
 setContentView(abslayout);


 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.相对布局,动态添加组件:
 RelativeLayout relativeLayout = new RelativeLayout(this);
 setContentView(relativeLayout);


 AbsoluteLayout abslayout=new AbsoluteLayout (this);

 //设置布局的参数,设置布局的大小范围
RelativeLayout.LayoutParams lp1 = newRelativeLayout.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);

3.线性布局,动态添加组件。
LinearLayout linearLayout = new LinearLayout(this);
EditText et = new EditText();
linearLayout.addView(et);

 

4.动态添加布局的方法:

1)动态添加布局方法1,通过inflate方法把linearLayout1当成linearLayout2的父节点添加进去:       

   LinearLayout linearLayout1 = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main1,null);             

   setContentView(linearLayout1);             

  //这样 main2 作为 main1的子布局 加到了 main1的 根节点下,通过inflate方法把linearLayout1当成linearLayout2的父节点添加进去

  LinearLayout linearLayout2 = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main2, linearLayout1);               

2)动态添加布局方法2,还有一种就是通过addView方式,把linearLayout2添加到linearLayout1里面去):

    LinearLayout linearLayout1 = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main1,null);               

    setContentView(linearLayout1);             

     LinearLayout linearLayout2 = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main2,null);               

    //通过ViewGroup的addView方法把linearLayout2添加到linearLayout1里面去。

    linearLayout1.addView(linearLayout2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值