亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android動(dòng)態(tài)布局小結(jié)

 更新時(shí)間:2016年01月11日 17:08:55   作者:bluejww  
android動(dòng)態(tài)布局相比靜態(tài)布局,動(dòng)態(tài)布局不用再將xml轉(zhuǎn)變了布局代碼,提高了一定的效率,本篇文章給大家介紹android動(dòng)態(tài)布局小結(jié),對(duì)android動(dòng)態(tài)布局相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧

android動(dòng)態(tài)布局相比靜態(tài)布局,動(dòng)態(tài)布局不用再將xml轉(zhuǎn)變了布局代碼,提高了一定的效率,當(dāng)然可以忽略不記。動(dòng)態(tài)布局主要是比較靈活,可以很快的在代碼中直接修改布局,并直接使用控件進(jìn)行業(yè)務(wù)邏輯開發(fā)。但代碼量通常比較大,維護(hù)沒有靜態(tài)布局方便。不過,作為一個(gè)android開發(fā)人員,掌握一定的動(dòng)態(tài)布局技巧,有時(shí)在工作中也是可以提高一定的代碼開發(fā)效率。

在動(dòng)態(tài)布局中,要想實(shí)現(xiàn)一個(gè)布局,一般是先創(chuàng)建五大布局的對(duì)象。然后對(duì)這些對(duì)象進(jìn)行屬性設(shè)置,之后再向里面添加子布局或控件。

    以RelativeLayout為例。

 RelativeLayout mLayout = new RelativeLayout();
    //設(shè)置RelativeLayout的子控件屬性對(duì)象,并設(shè)置其尺寸樣式。每個(gè)GroupView中都有一個(gè)LayoutPrams,都是用來給子控件設(shè)置發(fā)生的。


    RelativeLayout.LayoutPrams params = new RelativeLayout.LayoutPrams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    //增加 子控件
    ImageView iv = new ImageView(getActivity());
    iv.setImageResource(R.drawable.tab_icon_conversation_normal);
    //設(shè)置子控件在RealtiveLayout中的位置屬性。
    params.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); //給iv 增加屬性
     //將iv,增加到mLayout中
    mLayout .addView(iv, params); 

從最后一句,可以看出來,params對(duì)象引用設(shè)置的屬性都是作用有ImageView這個(gè)子控件上的,然后把iv與params一塊加入到RealtiveLayout中去。

整理android動(dòng)態(tài)布局方法總結(jié)

//絕對(duì)布局

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

//相對(duì)布局

RelativeLayout relativeLayout = new RelativeLayout(this);
setContentView(relativeLayout);
AbsoluteLayout abslayout=new AbsoluteLayout (this);
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);

//線性布局

LinearLayout ll = new LinearLayout(this);
EditText et = new EditText();
ll.addView(et);
//動(dòng)態(tài)添加布局的方法1. LinearLayout ll = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main1,null); setContentView(ll); LinearLayout ll2 = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main2,ll); //這樣 main2 作為 main1的子布局 加到了 main1的 根節(jié)點(diǎn)下
//動(dòng)態(tài)添加布局的方法2 addView. LinearLayout ll = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main1,null); setContentView(ll); LinearLayout ll2 = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main2,null); ll.addView(ll2);

相關(guān)文章

最新評(píng)論