android動態獲取設置控件高度

動態獲取控件高度

一、

	View view = findViewById(R.id.xxx);

  //聲明一個boolean,因爲addOnGlobalLayoutListener會重複執行,控制它啓動後只執行一次
  private boolean isCompletedDraw = false;   
  
    //獲取TextVie控件的高度,然後設置給ImageView
        view .getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                if (!isCompletedDraw){
                    isCompletedDraw = true;
                    // h就是TextView的高度,h就是TextView的寬度
                    int mHeight  = view .getMeasuredHeight();
                    int mWidth  = view .getMeasureWidth();
                }
            }
        });

二、

		View view = findViewById(R.id.xxx);
        view.post(new Runnable() {
            @Override
            public void run() {
                int mHeight = view.getHeight();
                int mWidth = view.getWidth();
            }
        });

動態設置控件寬高和margin

		View view = findViewById(R.id.xxx);
		ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
                layoutParams.leftMargin =10;
                layoutParams.height = 100;
                layoutParams.width = 100;
                view.setLayoutParams(layoutParams);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章