一、Android中常用的5大布局方式有以下几种:
1.线性布局(LinearLayout):按照垂直或者水平方向布局的组件;
2.帧布局(FrameLayout) :组件从屏幕左上方(0,0)布局组件;
3.相对布局 (RelativeLayout) :相对其它组件的布局方式;
4.表格布局 (TableLayout) :按照行列方式布局组件;
5.绝对布局 (AbsoluteLayout):按照绝对坐标来布局组件(不常用,了解即可)。
二、详细介绍:
1.线性布局(LinearLayout):
按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。
LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。android:layout_weight遵循数值越小,重要度越高的原则。
<!--线性布局:按垂直或者水平方向布局-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:orientation="horizontal" //横向布局
**android:layout_weight="1"** //该属性会平分空间,每个人1/4宽。
android:id="@+id/lw1"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="red"
android:gravity="center_horizontal"
android:background="#aa0000"
android:layout_weight="1"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="blue"
android:background="#0000aa"
android:gravity="center_horizontal"
android:layout_weight="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="#ffa500"
android:text="orange"
android:gravity="center_horizontal"