2014-09-13 91 views
0

所以我擴展了一個視圖類以便對其進行定製,並且我想知道在給定對象時創建的上下文會佔用多少高度/寬度被構造,但在物體被繪製之前。如何在繪製之前正確測量視圖的高度

我已經使用了下面的代碼,但是getMeasuredHeight()的輸出與我在繪製該元素之後調用getHeight()方法的輸出不同。

measure(ViewGroup.LayoutParams.MATCH_PARENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT); 

    getMeasuredHeight(); 
+0

我建議你使用'OnPreDrawListener'在'ViewTreeObserver',記得爲了讓佈局繪製返回TRUE;。 – Wakim 2014-09-13 20:16:29

回答

1

請嘗試以下觀察員

{ 
ViewTreeObserver treeObserver=measuringView.getViewTreeObserver(); 
      treeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 

     @Override 
     public void onGlobalLayout() { 
     int height=measuringView.getHeight(); 
     } 
     } 
} 
+0

非常好的乾淨的答案正是我想要的感謝你。 – Akarimi 2014-09-15 03:19:57

相關問題