關於View的屬性
自定義動態設置View的大小屬性
使用LayoutParams來設置view的寬高.
int textLen = AddShopActivity.mCategoryItemNames1[type][textPos].length(); final int dimension = (int) (getResources().getDimension(R.dimen.text_size)); int left = dimension * textLen + (int) (getResources().getDimension(R.dimen.rl_left)); RelativeLayout.LayoutParams lp2 = new LayoutParams(left + (int) (getResources().getDimension(R.dimen.rl_right)), (int) (getResources().getDimension(R.dimen.rl_height))); lp2.setMargins(0, (int) (getResources().getDimension(R.dimen.rl_top)), 0, (int) (getResources().getDimension(R.dimen.rl_top))); mRL01.setLayoutParams(lp2); mDeleteBt = (Button) mRLMain.findViewById(R.id.deletebt); MarginLayoutParams marginsParams = new MarginLayoutParams( mDeleteBt.getLayoutParams()); marginsParams.setMargins(left, 0, 0, 0); RelativeLayout.LayoutParams lp = new LayoutParams(marginsParams);
ViewGroup內部View的圖層關係
bar.bringToFront();
在辛顯龍Blog中是這樣解釋的: Android中的ViewGroup是通過一個Array來保存其Children,當調用某個childView的bringToFront時,是將該childView放在其Parent的Array數組的最後,ViewGroup的dispatchDraw在draw時是按照Array從前往後依次調用drawChild的,這樣最後一個childView就在最前面了。