首页
学习
活动
专区
圈层
工具
发布

LinearLayout.onMeasure-设置LinearLayout的高度

代码语言:javascript
代码运行次数:0
复制
    if (!allFillParent && widthMode != MeasureSpec.EXACTLY) {
        maxWidth = alternativeMaxWidth;
    }
    
    maxWidth += mPaddingLeft + mPaddingRight;

    // Check against our minimum width
    maxWidth = Math.max(maxWidth, getSuggestedMinimumWidth());
    
    setMeasuredDimension(resolveSizeAndState(maxWidth, widthMeasureSpec, childState),
            heightSizeAndState);

    if (matchWidth) {
        forceUniformWidth(count, heightMeasureSpec);
    }
  1. 判断allFillParent以及widthMode,如果满足的话,那么maxWidth则设为alternativeMaxWidth
  2. maxWidth再加上左右的间距
  3. 比较和背景图的大小
  4. 通过resolveSizeAndState获取widthMeasureSpec,通过setMeasuredDimension设置LinearLayout的宽高
下一篇
举报
领券