Android:onMeasure()问题

前端之家收集整理的这篇文章主要介绍了Android:onMeasure()问题 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我做了一个自定义视图.如果将视图添加到布局XML文件并将高度设置为fill_parent“ specSize”,则返回0.为什么?

码:

    @Override
protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec) {
        int measuredHeight = 90;

        int specMode = MeasureSpec.getMode(heightMeasureSpec);
        int specSize = MeasureSpec.getSize(MeasureSpec.getMode(heightMeasureSpec));

        if(specMode != MeasureSpec.UNSPECIFIED){
         measuredHeight = specSize;
        }
        setMeasuredDimension(60,measuredHeight);
}

有人知道我如何获得fill_parent的高度吗?

最佳答案
您无需在对“ getSize”的调用调用MeasureSpec.getMode.度量规格的整个想法是将度量方式(称为Spec)与关联的Size相结合.请参阅MeasureSpec.makeMeasureSpec方法的文档.正确的代码如下所示:

int widthSpec = MeasureSpec.getMode(widthMeasureSpec);
int width = MeasureSpec.getSize(widthMeasureSpec);

猜你在找的Android相关文章