对于View是由屏幕和LayoutParams控制
- 如果LayoutParams是Match_parent,那么是MeasureSpec.EXACTLY
- 如果LayoutParams是具体的dp,那么是MeasureSpec.EXACTLY
- 如果LayoutParams是wrap_content,那么是MeasureSpec.AT_MOST
对于子View是由ParentSpecMode和子View的LayoutParmas控制
总结图如下:
image.png
-
如果ParentSpecMode是MeasureSpec.EXACTLY,子View的LayoutParams是Match_parent或者具体的dp,那么是MeasureSpec.EXACTLY
-
如果ParentSpecMode是MeasureSpec.EXACTLY,子View的LayoutParams是wrap_content,那么是MeasureSpec.AT_MOST
-
如果ParentSpecMode是MeasureSpec.AT_MOST,子View的LayoutParams是具体的dp,那么是MeasureSpec.EXACTLY
-
如果ParentSpecMode是MeasureSpec.AT_MOST,子View的LayoutParams是wrap_content或者match_parent,那么是MeasureSpec.AT_MOST
-
如果ParentSpecMode是MeasureSpec.UNSPECIFIED,子View的LayoutParams是具体的dp,那么是MeasureSpec.EXACTLY
-
如果ParentSpecMode是MeasureSpec.UNSPECIFIED,子View的LayoutParams是wrap_content或者match_parent,那么是MeasureSpec.UNSPECIFIED
网友评论