Android开发之常用布局全在这篇


Android开发之常用布局全在这篇

文章插图
 
一、简介【Android开发之常用布局全在这篇】如下图所示,按照界面编写的方式,可以分为传统布局和新型布局两种 。
Android开发之常用布局全在这篇

文章插图
 
1.线性布局:是平常练习demo时最常用的布局,分为水平、垂直方向两种线性布局,即设置其属性orientation:"vertical或horizontal" 。【注:在不指定方向时,默认为horizontal,即水平方向】
2.相对布局:依据某一控件的位置,来确定另一控件的位置,即另一控件相对于当前控件的位置 。
3.表格布局:适用于多行多列的布局方式,通过表格方式来布局控件的位置,并且每个TableLayout由多个TableRow(表示行)组成 。
4.网格布局:是在Android4.0之后引入的一个新布局,和上面的TableLayout有点类似,但GridLayout比TableLayout更加好用、灵活 。
5.帧布局:放入的所有控件都会被依次放在左上区域,因此下一个控件会重叠覆盖上一个控件,且无法为控件指定一个确切的位置 。一般用于浏览单张图片 。
6.绝对布局:这个布局一般不会使用 。屏幕的左上角为原点(0,0),横轴为x轴且向右为递增,纵轴为y轴且向下为递增,依据layout_x及layout_y属性分别设置控件的X及Y坐标 。
7.约束布局:先说一下约束布局相对于传统布局的优势:①采用可视化的界面,拖拽控件即可完成界面的布局;②解决布局嵌套过多的问题,采用约束的方式来指定各个控件的位置和关系的,它有点类似于RelativeLayout,但远比RelativeLayout要更强大 。
Android开发之常用布局全在这篇

文章插图
 
二、常用属性2.1 所有布局的公有属性
Android开发之常用布局全在这篇

文章插图
 
2.2 各个布局的特有属性
  • 线性布局

Android开发之常用布局全在这篇

文章插图
 
  • 在不指定线性布局方向的情况下,默认采用水平布局 。
  • 为了完全按比例分配剩余空间,我们一般将控件的layout_width或layout_height设置为0dp,然后分别设置其权重值 。【这里仅考虑常用的,至于宽设置为wrap_content或match_parent请自行尝试即可】
例:水平方向上有3个TextView,设置权重为1:1:1,则代码如下:
Android开发之常用布局全在这篇

文章插图
 
运行结果如下:
Android开发之常用布局全在这篇

文章插图
 
将权重比例改为1:2:3,运行结果如下 。
Android开发之常用布局全在这篇

文章插图
 
  • 相对布局

Android开发之常用布局全在这篇

文章插图
 
  • 表格布局

Android开发之常用布局全在这篇

文章插图
 
例:xml布局代码如下:
Android开发之常用布局全在这篇

文章插图
 

Android开发之常用布局全在这篇

文章插图
 
运行结果如下:
Android开发之常用布局全在这篇

文章插图
 
由上面的演示可以看出:
  1. 如果直接在TableLayout中添加控件,则该控件将占满一行,如第一行的文本框独占一行 。
  2. 若要在一行上放置多个控件,则需要在控件的外层添加一个TableRow容器,如第2、3、4、5行放置了不同个数的的按钮 。
  3. TableRow容器中控件的个数决定了该行有多少列(如图分别有1,3,2,1,2列),而TableLayout的列数由控件最多的TableRow决定(整个布局有3列) 。
  4. TableLayout的列的宽度由该列中最宽的单元格决定,如Button44444按钮决定了第二列的宽度 。
  5. 设置layout_column属性,这里是跳过第1列,从第2列开始放置控件 。
  6. 设置layout_span属性,这里是合并3个单元格,即该按钮占3个单元格 。

请依次添加添加以下布局属性:
① 收缩1、2列:
android:shrinkColumns="0,1"运行结果如下:显示不完全的button8显示完全了,并且Button1、Button44444、Button6按钮有收缩
Android开发之常用布局全在这篇

文章插图
 


推荐阅读