美文网首页
DrawerLayout must be measured wi

DrawerLayout must be measured wi

作者: CreScert | 来源:发表于2020-04-24 18:36 被阅读0次

    遇到这种报错,检查下DrawerLayout是否是MATCH_PARENT或者确定值。
    如果是但是还报这个错误,就往上找,必须都为MATCH_PARENT或者确定值。

    image.png

    在源码中,宽度和高度只要有一个不是MATCH_PARENT或者确定值就会报错。

    isInEditMode()是干嘛的呢?这个是你在写xml布局的时候,右边的展示,也就是编辑模式,运行的时候是不会走这里的。

    解决办法:
    1.我的情况 是给DrawerLayout设置宽和高都是MATCH_PARENT,但是还是报错。
    因为我的这个页是在首页的tab中,也就是在Fragment里面,这时候检查它所依赖的Activity中的FrameLayout布局,发现高度为WRAP_CONTENT,改成MATCH_PARENT就可以了。

    2.还有一个解决办法就是网上好多人说的,自定义DrawerLayout,重写onMeasure方法为:

     @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            widthMeasureSpec = MeasureSpec.makeMeasureSpec(
                    MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.EXACTLY);
            heightMeasureSpec = MeasureSpec.makeMeasureSpec(
                    MeasureSpec.getSize(heightMeasureSpec), MeasureSpec.EXACTLY);
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        }
    

    相关文章

      网友评论

          本文标题:DrawerLayout must be measured wi

          本文链接:https://www.haomeiwen.com/subject/erhqwhtx.html