详解Android四种基本布局

LinearLayout

LinearLayout又称作线性布局,是一种非常常用的布局。

该布局有一个专属属性android:orientation,这个属性有两个选择vertical和horizontal,代表着线性排列的规律。

演示:

vertical

详解Android四种基本布局_第1张图片

horizonal

详解Android四种基本布局_第2张图片

如果LinearLayout 的排列方向是 horizontal,内部的控件就绝对不能将宽度指定为match_parent,因为这样的话单独一个控件就会将整个水平方向占满,其他的控件就没有可放置的位置了。同样的道理,如果LinearLayout 的排列方向是 vertical,内部的控件就不能将高度指定为match_parent

gravity和layout_gravity的区别就是gravity是指当前空间内部的内容的排列方式,而后者则是指当前控件相对于父布局的的排列方式


示例:


详解Android四种基本布局_第3张图片


android:layout_weight是指所设置的控件对剩余空间的权重(权重越大,所占空间越大)

示例:



详解Android四种基本布局_第4张图片

注意这里我们将edittext的权重设为1,而width设为0只是一个规范化写法,因为send的width是wrapcontent,所以这一行的剩余空间分到所有权重之和(1)上,1/1即为edittext所占比例。

RelativeLayout
RelativeLayout 又称作相对布局,也是一种非常常用的布局。
就和名字一样,这种布局内的控件排列全部按照相对的父布局或其它子控件等

相对于父布局:


详解Android四种基本布局_第5张图片
相对于子控件:


详解Android四种基本布局_第6张图片

RelativeLayout中还有另外一组相对于控件进行定位的属性,android:layout_alignLeft表示让一个控件的左边缘和另一个控件的左边缘对齐,android:layout_alignRight表示让一个控件的右边缘和另一个控件的右边缘对齐,还有android:layout_alignTop android:layout_
alignBottom


FrameLayout

这种布局没有任何的定位方式,所有的控件都会摆放在布局的左上角,该布局类型主要运用于碎片处理。



详解Android四种基本布局_第7张图片


TableLayout
TableLayout允许我们使用表格的方式来排列控件
设计一个登录界面,允许用户输入账号密码后登录












 
     详解Android四种基本布局_第8张图片 
     
TableLayout 中每加入一个 TableRow 就表示在表格中添加了一行,然后在 TableRow中每加入一个控件,就表示在该行中加入了一列,TableRow中的控件是不能指定宽度的。
使用android:layout_span="2"让登录按钮占据两列的空间,android:stretchColumns="1"使得第二个控件自动拉伸并占慢剩余空间。

你可能感兴趣的:(详解Android四种基本布局)