本文主要是介绍LinearLayout和RelativeLayout对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. LinearLayout可以实现子View按照权重分配显示区域,RelativeLayout则不行。
2. 实现复杂的UI布局,LinearLayout通常需要更多的布局层级
3. 相同UI同等层级情况下LinearLayout通常layout和draw性能更好。这是因为而LinearLayout只需调用一次measure过程,而RelativeLayout会调用2次。但是有weight属性存在时,LinearLayout 也需要两次measure。
RelativeLayout:
1. RelativeLayout可以实现分层布局,LinearLayout则不行。使用RelativeLayout时需注意上层的view可能不遮挡遮挡下层View的展示,但遮挡其点击事件。
2. RelativeLayout的在复杂嵌套布局中,可以降低布局嵌套层级 。
3. RelativeLayout的子View如果高度和RelativeLayout不同,会导致RelativeLayout在onMeasure()方法中做横向测量时,纵向的测量结果尚未完成,只好暂时使用自己的高度传入子View系统。这可能会导致额外的计算开销。解决办法就是可以使用padding代替margin以优化此问题。
这篇关于LinearLayout和RelativeLayout对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!