布局方法可以嵌套,可以非常方便的把界面“堆”出来。
LinearLayout:
LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。
如果是垂直排列,那么将是一个单列N行的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;
如果是水平排列,那么将是一个单行N列的结构。
如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,
每一个元素里再嵌套包含一个LinearLayout进行水平排列。
LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。
一行只有一个文本框,那么它的默认值就为0,
一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。
如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,
那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。
android:layout_weight遵循数值越小,重要度越高的原则。
显示效果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/f86ae4728a9bdc498e5cbefe9ca944b7.jpeg)
----LinearLayout(线性布局)提供了控件水平垂直排列的模型,
同时可以通过设置子控件的weight布局参数控制各个控件在布局中的相对大小。
水平(vertical)垂直(horizontal)
fill-parent:占满整个屏幕,
wrap-content:刚好适合控件内容的大小
对齐方式gravity取值:
top:不改变大小,位置置于容器的顶部
bottom:不改变大小,位置置于容器的底部
left:不改变大小,位置置于容器的左边
right:不改变大小,位置置于容器的右边
center_vertical:不改变大小,位置置于容器的纵向中央部分
center_horizontal:不改变大小,位置置于容器的横向中央部分
center:不改变大小,位置置于容器的横向和纵向的中央部分
fill_vertical:可能的话,纵向延伸可以填满容器
fiil_horizontal:可能的话,横向延伸可以填满容器
fiil:可能的话,纵向和横向延伸填满容器