What is the difference between getMeasuredHeight and getHeight

AndroidViewWidth

Android Problem Overview


I try to call View.getMeasuredHeight and View.getHeight in onGlobalLayout. Both give me the same result.

I was wondering, under what situation their value will be different? Is there any example to demonstrate this?

I tried searching in google. The 1st result doesn't seem relevant to this question : https://stackoverflow.com/questions/4074937/android-how-to-get-a-custom-views-height-and-width

Android Solutions


Solution 1 - Android

When you use a View, it imposes certain size limitations on its children elements. These limitations may prevent a child element from taking up the amount of space it wants to.

The documentation for the View class describes these properties as follows:

> The size of a view is expressed with a width and a height. A view actually possess two pairs of width and height values. > > The first pair is known as measured width and measured height. These dimensions define how big a view wants to be within its parent (see Layout for more details.) The measured dimensions can be obtained by calling getMeasuredWidth() and getMeasuredHeight(). > > The second pair is simply known as width and height, or sometimes drawing width and drawing height. These dimensions define the actual size of the view on screen, at drawing time and after layout. These values may, but do not have to, be different from the measured width and height. The width and height can be obtained by calling getWidth() and getHeight().

See also: http://developer.android.com/guide/topics/ui/how-android-draws.html

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCheok Yan ChengView Question on Stackoverflow
Solution 1 - AndroidDan BechardView Answer on Stackoverflow