如何在视图OnMeasure上设置最小高度的wrap_content?

时间:2016-02-26 16:18:23

标签: android android-view

我为扩展按钮的视图设置了最小高度

@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    int h = resolveSize(minHeight, heightMeasureSpec);
    if (h < minHeight) h = minHeight;
    setMeasuredDimension(widthMeasureSpec, h);
    rectBG.set(0, 0, MeasureSpec.getSize(widthMeasureSpec), h);
    mBgPaint.setShader(
        new LinearGradient(0, 0, 0, rectBG.bottom, colorStart, colorEnd, Shader.TileMode.MIRROR));
}

但是当我设置大文本时,我的观点并未延伸。如何处理?

1 个答案:

答案 0 :(得分:0)

问题是您致电super.onMeasure(widthMeasureSpec, heightMeasureSpec),然后您尝试执行计算。

您应该依赖于super.onMeasure(widthMeasureSpec, heightMeasureSpec)或者您应该使用setMeasuredDimension

除非您的View存在其他问题,否则请暂停super来解决您的问题。