Android - ConstraintLayout做内容占位(ViewGroup)布局错乱问题!

最近重构工程,想把BaseActivity, BaseFragment封装到更好,更集中管理一些。目前还比较可以,也将权限管理封装到了基础页面,采用的是官方的easypermissions库,还不错!官方的足够用了。

然后像基础页面增加标题栏,内容区域的自定义处理。BaseActivity则默认提供统一标题栏样式,图标点击给回调即可。可以选择不显示标题栏。

然后就想着这样:

activity_base.xml

  


    

        

        

            
        

        
    

    


上标题,下内容

image

然后基础页面想着如下处理:

image

分开看貌似布局都没问题。。。但是.....

activity_main.xml - 当这个布局被加载的时候:

  


    

    


image

运行发现出问题了啦:

image

然后就看布局,感觉没问题呀。。。怎么回事了。。是第三方框架可能存在的特殊情况?感觉不像,我都是约束布局,理论上都处理好了呀。怎么会出现这种情况呢?

然后早上来,我想着改成FrameLayout做内容占位ViewGroup, 内容布局都添加到这个里面。

   
image

目前是搞定了。

接下来要做的事情是,尝试去分析一下,是什么导致了这种情况???

网友比较热心,发现了构建布局参数的问题,如下:

image

我们既然选择约束布局作为占位,那我们创建内容布局的时候则需要这个root

作为约束的要素!很nice呀....并且最后一个参数(第三个参数)也要填写 true,这样父布局的宽高约束就会正常了!否则就死丢丢了...

看来View.inflate和LayoutInflater.inflate(need to do)有必要了解下了...一直再用,就是没看过,我擦勒!

你可能感兴趣的:(Android - ConstraintLayout做内容占位(ViewGroup)布局错乱问题!)