LinearLayout 相对布局

本文讨论了LinearLayout的使用,尤其是其weight属性在屏幕适配中的优势,但指出过多嵌套可能导致效率降低和资源浪费。建议结合RelativeLayout以提高效率。通过一个兄弟组件定位的例子,解释了如何避免错误定位并展示了“梅花布局”的实现。
摘要由CSDN通过智能技术生成

LinearLayout也是我们 用的比较多的一个布局,我们更多的时候更钟情于他的weight(权重)属性,等比例划分,对屏幕适配还是 帮助蛮大的;但是使用LinearLayout的时候也有一个问题,就是当界面比较复杂的时候,需要嵌套多层的 LinearLayout,这样就会降低UI Render的效率(渲染速度),而且如果是listview或者GridView上的 item,效率会更低,另外太多层LinearLayout嵌套会占用更多的系统资源,还有可能引发stackoverflow; 如果使用RelativeLayout,可能仅仅需要一层就可以完成了,以父容器或者兄弟组件参考+margin +padding就可以设置组件的显示位置。也不是绝对的,具体问题具体分析。 总结就是:尽量使用RelativeLayout + LinearLayout的weight属性搭配使用。

现在根据兄弟组件定位做个页面:
兄弟组件就是处于同一层次容器的组件
在这里插入图片描述

图中的组件1,2就是兄弟组件了,而组件3与组件1或组件2并不是兄弟组件,所以组件3不能通过 组件1或2来进行定位,比如layout_toleftof = "组件1"这样是会报错的!切记! 关于这个兄弟组件定位的最经典例子就是"梅花布局"了,下面代码实现下:
运行效果图:
在这里插入图片描述

实现代码:

    <!-- 这个是在容器中央的 -->    

    &l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值