自定義View的寬高設定

關於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就在最前面了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章