美文网首页
Android基础(9)ViewGroup布局讲解

Android基础(9)ViewGroup布局讲解

作者: perry_Fan | 来源:发表于2019-02-19 19:28 被阅读0次

1)LinearLayout、RelativeLayout、FrameLayout的特性及对比
2)ConstraintLayout

  • RelativeLayout慢于LinearLayout是因为它会让子View调用2次measure过程,而LinearLayout只需一次,但是有weight属性存在时,LinearLayout也需要两次measure。
  • RelativeLayout的子View如果高度和RelativeLayout不同,会导致RelativeLayout在onMeasure()方法中做横向测量时,纵向的测量结果尚未完成,只好暂时使用自己的高度传入子View系统。而父View给子View传入的值也没有变化就不会做无谓的测量的优化会失效,解决办法就是可以使用padding代替margin以优化此问题。
  • 在不响应层级深度的情况下,使用Linearlayout而不是RelativeLayout。很多效果是需要多层LinearLayout的嵌套,这必然不如一层的RelativeLayout性能更好。
    详见:https://blog.csdn.net/SEU_Calvin/article/details/53047682

FrameLayout是比较简单的布局方式,所有的控件层叠显示,默认放在屏幕的左上角,最先添加的控件放在最底层,后添加的控件在先添加的控件上面。

二. ConstraintLayout
ConstraintLayout的功能更加强大,使用起来更加方便,不论是静态布局还是动态布局都具有良好的支持,同时可以完成动画效果,性能上也更加优越。

相关文章

网友评论

      本文标题:Android基础(9)ViewGroup布局讲解

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