android的布局分两个阶段,先measure()后requestLayout(),
测量的三种模式:
[list]
[*]UNSPECIFIED: 不限定
[*]EXACTLY: 固定
[*]AT_MOST:最多
[/list]
LinearLayout 调用measure(EXACTLY 240,UNSPECIFIED)来得到高度。
View.measure(widthMeasureSpec,heightMeasureSpec),需要的两个spec是Mode和限定值计算出来的:
View.MeasureSpec.makeMeasureSpec(maxW,View.MeasureSpec.AT_MOST)
measure()后调用getMeasuredWidth()和getMeasuredHeight()得到测量后的值。
此法可用于Tip等窗口大小预估。
参考:
http://code.google.com/android/samples/ApiDemos/src/com/google/android/samples/view/LabelView.html
测量的三种模式:
[list]
[*]UNSPECIFIED: 不限定
[*]EXACTLY: 固定
[*]AT_MOST:最多
[/list]
LinearLayout 调用measure(EXACTLY 240,UNSPECIFIED)来得到高度。
View.measure(widthMeasureSpec,heightMeasureSpec),需要的两个spec是Mode和限定值计算出来的:
View.MeasureSpec.makeMeasureSpec(maxW,View.MeasureSpec.AT_MOST)
measure()后调用getMeasuredWidth()和getMeasuredHeight()得到测量后的值。
此法可用于Tip等窗口大小预估。
参考:
http://code.google.com/android/samples/ApiDemos/src/com/google/android/samples/view/LabelView.html