android動態佈局相比靜態佈局,動態佈局不用再將xml轉變了佈局代碼,提高了一定的效率,當然可以忽略不記。動態佈局主要是比較靈活,可以很快的在代碼中直接修改佈局,並直接使用控制項進行業務邏輯開發。但代碼量通常比較大,維護沒有靜態佈局方便。不過,作為一個android開發人員,掌握一定的動態佈局.....
android動態佈局相比靜態佈局,動態佈局不用再將xml轉變了佈局代碼,提高了一定的效率,當然可以忽略不記。動態佈局主要是比較靈活,可以很快的在代碼中直接修改佈局,並直接使用控制項進行業務邏輯開發。但代碼量通常比較大,維護沒有靜態佈局方便。不過,作為一個android開發人員,掌握一定的動態佈局技巧,有時在工作中也是可以提高一定的代碼開發效率。
在動態佈局中,要想實現一個佈局,一般是先創建五大佈局的對象。然後對這些對象進行屬性設置,之後再向裡面添加子佈局或控制項。
以RelativeLayout為例。
RelativeLayout mLayout = new RelativeLayout();
//設置RelativeLayout的子控制項屬性對象,並設置其尺寸樣式。每個GroupView中都有一個LayoutPrams,都是用來給子控制項設置發生的。
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);
//設置子控制項在RealtiveLayout中的位置屬性。
params.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); //給iv 增加屬性
//將iv,增加到mLayout中
mLayout .addView(iv, params);
從最後一句,可以看出來,params對象引用設置的屬性都是作用有ImageView這個子控制項上的,然後把iv與params一塊加入到RealtiveLayout中去。