2013-10-22 11 views
40

View.getMeasuredHeightView.getHeightonGlobalLayoutに呼び出そうとします。どちらも私に同じ結果をもたらします。getMeasuredHeightとgetHeightの違いは何ですか

私は、どのような状況でその価値が異なるのだろうと思っていましたか?これを実証する例はありますか?

Googleで検索しました。 1番目の結果はこの質問には関係していないようです。Android: How to get a custom View's height and width?

答えて

63

ビューを使用すると、そのビューの子要素に一定のサイズ制限が課されます。これらの制限は、子要素が望む空間の量を占めるのを妨げる可能性があります。次のように

documentation for the View classは、これらの特性を記述する:

ビューのサイズは幅と高さで表されます。ビューは、実際には2組の幅と高さの値を持っています。

最初のペアは、測定幅と測定高さと呼ばれます。これらのディメンションは、ビューがその親内にどれくらいあるかを定義します(詳細はレイアウトを参照)。測定されたディメンションは、getMeasuredWidth()およびgetMeasuredHeight()を呼び出すことで取得できます。

2番目のペアは単に幅と高さ、または時には描画幅と描画高さと呼ばれます。これらの寸法は、画面上、図面時およびレイアウト後のビューの実際のサイズを定義します。これらの値は、測定された幅と高さと異なる場合がありますが、異なる必要はありません。幅と高さは、getWidth()とgetHeight()を呼び出すことで取得できます。

も参照してください:http://developer.android.com/guide/topics/ui/how-android-draws.html

関連する問題