android動態佈局相比靜態佈局,動態佈局不用再將xml轉變了佈局代碼,提升了必定的效率,固然能夠忽略不記。動態佈局主要是比較靈活,能夠很快的在代碼中直接修改佈局,並直接使用控件進行業務邏輯開發。但代碼量一般比較大,維護沒有靜態佈局方便。不過,做爲一個android開發人員,掌握必定的動態佈局技巧,有時在工做中也是能夠提升必定的代碼開發效率。android
在動態佈局中,要想實現一個佈局,通常是先建立五大布局的對象。而後對這些對象進行屬性設置,以後再向裏面添加子佈局或控件。佈局
以RelativeLayout爲例。orm
RelativeLayout mLayout = new RelativeLayout();xml
//設置RelativeLayout的子控件屬性對象,並設置其尺寸樣式。每一個GroupView中都有一個LayoutPrams,都是用來給子控件設置發生的。對象
RelativeLayout.LayoutPrams params = new RelativeLayout.LayoutPrams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);開發
//增長 子控件get
ImageView iv = new ImageView(getActivity());it
iv.setImageResource(R.drawable.tab_icon_conversation_normal);io
//設置子控件在RealtiveLayout中的位置屬性。效率
params.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); //給iv 增長屬性
//將iv,增長到mLayout中
mLayout .addView(iv, params);
從最後一句,能夠看出來,params對象引用設置的屬性都是做用有ImageView這個子控件上的,而後把iv與params一塊加入到RealtiveLayout中去。