1.描述

使用LinearLayout的时候也有一个问题,就是当界面比较复杂的时候,需要嵌套多层的

LinearLayout,这样就会降低UI Render的效率(渲染速度),而且如果是listview或者GridView上的

item,效率会更低,另外太多层LinearLayout嵌套会占用更多的系统资源,还有可能引发stackoverflow;

但是如果我们使用RelativeLayout的话,可能仅仅需要一层就可以完成了,以父容器或者兄弟组件+margin

+padding就可以设置组件的显示位置,是比较方便的!当然,也不是绝对的,具体问题具体分析吧!

总结就是:尽量使用RelativeLayout + LinearLayout的weight属性搭配使用吧!

1.本节核心图:

AndroidUI--RelativeLayout

2.父容器定位属性的示意图:

AndroidUI--RelativeLayout

 

3.根据兄弟组件定位

恩,先说下什么是兄弟组件吧,所谓的兄弟组件就是处于同一层次容器的组件,如图

AndroidUI--RelativeLayout

图中的组件1,2就是兄弟组件了,而组件3与组件1或组件2并不是兄弟组件,所以组件3不能通过

组件1或2来进行定位,比如layout_toleftof = "组件1"这样是会报错的!切记!

最后一句精髓:

①RelativeLayout的参考控件的visibity设置为GONE,那么关联控件呢?

答:RelativeLayout中某个控件因为特别情况需要设置GONE完全隐藏时,会影响与之相关联的

所有控件,这个时候就要用到一个很少用的属性:

android:layout_alignWithParentIfMissing="true"

为关联组件设置了这个属性后,关联控件就会与父级控件对齐!!!

转载于:https://my.oschina.net/quguangle/blog/783391

相关文章: