LinearLayout

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

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

演示:

vertical


horizonal


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

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


示例:




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

示例:



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

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

相对于父布局:


相对于子控件:



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


FrameLayout

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




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


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

更多相关文章

  1. 安卓第一课
  2. android ListView中给Item的每个控件设置单击事件
  3. 【3】Android新建Activity (Eclipse)
  4. Android(安卓)Studio自带模版:抽屉(DrawerLayout)布局
  5. 纯Java代码写登录注册页面
  6. 类 QQ登入界面的 布局,防登入按钮被覆盖
  7. Android(安卓)Random随机数
  8. 自定义的跑马灯控件
  9. Android(安卓)之 布局训练

随机推荐

  1. Android中的ClassLoader与dex文件加密实
  2. Android高手进阶教程(十七)之---Android
  3. android 跳转到应用通知设置界面
  4. Android(安卓)处理空列表的方法(必看篇)
  5. Android(安卓)无需申请key直接调用微信/Q
  6. Android Service相关
  7. android 蓝牙打印程序源代码
  8. 下拉列表(Spinner)
  9. android当方法数超过64k时(android studi
  10. android的ListView