如何在画布上绘制时填充父元素

3

我有一个定制的视图(Android),它绘制了一个自定义的进度条。我希望进度条可以填满其父视图(宽度)。问题在于我不知道如何让自定义视图获得其真实的限制。它需要知道宽度限制以便以正确比例显示不同颜色。我已按以下方式实现onMeasure():

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
    setMeasuredDimension(widthMeasureSpec, 15);
}

然后,在我的onDraw()函数中,当我调用getWidth()时,我得到的是:1073742246。我怎样才能知道真正的父边界呢?很明显,我在这里做错了什么...视图布局参数设置为MATCH_PARENT/FILL_PARENT,我可以在整个区域上进行绘制,但我不知道实际宽度以便按正确比例绘制条形图。
谢谢,
Noam
2个回答

2

2

这个值包含所需的宽度,但它也包含MeasureSpec标志。

使用MeasureSpec.getSize()来去除标志。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接