在XML宽度和高度都固定时,OnMeasure获取错误的值

时间:2017-04-24 04:36:16

标签: android xml onmeasure

当我遇到这个问题时,我正在开发一个自定义视图。在XML中,我设置了layout_width&具有固定值layout_height的{​​{1}}。但在100dp方法中,我使用measureMode onMeaure()得到widthMeasureSpec,但使用measureMode EXACTLY得到heightMeasureSpec。更奇怪的是它们具有不同的尺寸值。这是XML和相关的代码片段:

CODE:

AT_MOST

Actual Value in Debug Mode

XML:

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);

    int widthMeasureMode = MeasureSpec.getMode(widthMeasureSpec);
    int widthMeasureSize = MeasureSpec.getSize(widthMeasureSpec);
    int heightMeasureMode = MeasureSpec.getMode(heightMeasureSpec);
    int heightMeasureSize = MeasureSpec.getSize(heightMeasureSpec);
}

0 个答案:

没有答案