Разница между getheight () и getmeasuredheight ()

Я проходил через этот http://developer.android.com/guide/topics/ui/declaring-layout.html, когда я курил по линии, заявляя, что высота может, но не обязательно, отличаться от измеренной высоты , Я думал о том, как измеренная высота может отличаться от высоты макета.

Solutions Collecting From Web of "Разница между getheight () и getmeasuredheight ()"

Методы View#getMeasuredWidth() и View#getMeasuredHeight() представляют размеры, которые должен представлять вид, прежде чем все представления в макете будут вычислены и уложены на экране.

После View#onMeasure(int, int) и View#onLayout(boolean, int, int, int, int) измерения замеров могут быть изменены, чтобы вместить все. Эти (возможные) новые значения затем доступны через View#getWidth() и View#getHeight() .

Из справки класса View :

Размер представления выражается шириной и высотой. В представлении фактически есть две пары значений ширины и высоты.

Первая пара известна как измеренная ширина и измеренная высота. Эти размеры определяют, как большой вид хочет быть внутри своего родителя (см. Макет для более подробной информации.) Измеренные размеры можно получить, вызвав getMeasuredWidth () и getMeasuredHeight ().

Вторая пара просто известна как ширина и высота, иногда ширина рисунка и высота рисунка. Эти размеры определяют фактический размер представления на экране, время рисования и после макета. Эти значения могут, но не обязательно, отличаться от измеренной ширины и высоты. Ширина и высота можно получить, вызвав getWidth () и getHeight ().