赞
踩
在上期中我们对LinearLayout进行了详细的解析,LinearLayout也是我们用的比较多的一个布局,更多的时候更钟情于它的 weight(权重) 属性,等比例划分,对屏幕适配还是 帮助蛮大的;但是使用LinearLayout的时候也有一个问题,就是当界面比较复杂的时候,需要嵌套多层的LinearLayout,这样就会降低UI Render的效率(渲染速度),而且如果是listview或者GridView上的item,效率会更低,另外太多层LinearLayout嵌套会占用更多的系统资源,还有可能引发stackoverflow; 但是如果我们使用RelativeLayout的话,可能仅仅需要一层就可以完成了,以父容器或者兄弟组件参考+margin +padding就可以设置组件的显示位置,是比较方便!当然,也不是绝对的,具体问题具体分析吧!
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/main"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <!-- layout_alignParentLeft: 左对齐-->
- <androidx.appcompat.widget.AppCompatButton
- android:layout_width="120dp"
- android:layout_height="100dp"
- android:layout_alignParentLeft="true"
- android:background="#ff2328"
- android:text="1" />
- <!-- layout_alignParentRight:右对齐-->
- <androidx.appcompat.widget.AppCompatButton
- android:layout_width="80dp"
- android:layout_height="40dp"
- android:layout_alignParentRight="true"
- android:background="#aaa72d"
- android:text="2" />
- <!-- layout_alignParentTop: 顶部对齐-->
- <androidx.appcompat.widget.AppCompatButton
- android:layout_width="80dp"
- android:layout_height="40dp"
- android:layout_alignParentTop="true"
- android:background="#00aa7d"
- android:text="3" />
- <!-- layout_alignParentBottom: 底部对齐-->
- <androidx.appcompat.widget.AppCompatButton
- android:layout_width="80dp"
- android:layout_height="40dp"
- android:layout_alignParentBottom="true"
- android:background="#2eaa0f"
- android:text="4" />
- <!-- android:layout_centerHorizontal: 水平居中-->
- <androidx.appcompat.widget.AppCompatButton
- android:layout_width="80dp"
- android:layout_height="40dp"
- android:layout_centerHorizontal="true"
- android:background="#aa7fa9"
- android:text="5" />
- <!-- andriod:layout_centerVertical: 垂直居中-->
- <androidx.appcompat.widget.AppCompatButton
- android:layout_width="80dp"
- android:layout_height="40dp"
- android:layout_centerVertical="true"
- android:background="#77b8ff"
- android:text="6" />
- <!-- android:layout_centerInParent: 中间位置-->
- <androidx.appcompat.widget.AppCompatButton
- android:layout_width="80dp"
- android:layout_height="40dp"
- android:layout_centerInParent="true"
- android:background="#cc58be"
- android:text="7" />
- </RelativeLayout>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。