Android学习笔记——各种常用布局管理器的使用

1. 相对布局-RelativeLayout

相对布局中每个控件的位置是相对于其他控件或者是布局管理器本身来设置的

用于控制布局管理器的属性:

  • android:gravity:用于控制布局管理器中控件的默认布局格式,这个属性的值可以使用多个属性值同时控制,相互之间用 " | ” 符号隔开,比如底部居中可表示为:android:gravity=“center|bottom”
  • android:ignoreGravity:设置该控件不受上一个属性设置的影响

用于控制控件的属性:

  • android:layout_above:设置该控件位于目标控件上方。与之相似的还有三个,分别是below(下方)、toLeftOf(左边)、toRightOf(右边),该属性的属性值为目标控件的id
  • android:layout_alignParentBottom:设置与布局管理器底对齐,即位于父容器底部,与上个属性一样同样有其它三个相似的属性Top(顶对齐)、Left(左对齐)、Right(右对齐),该属性属性值为true或者false
  • android:layout_alignBottom:设置该控件左边界与对应控件的左边界对齐,其他三个方向同上,该属性属性值为目标控件的id。另外该属性会受布局管理器设置的layout_gravity属性影响
  • android:layout_centerHorizontal:设置该空间在布局管理器中水平居中,相似的还有centerInParent(在布局管理器中整体居中)、centerVertical(垂直居中)

2. 线性布局-LinearLayout

每一行或者每一列只能放置一个组件,这个组件可以是控件也可以是新的布局管理器

用于控制布局管理器的属性:

  • android:orientation:设置线性布局的整体布局方向,属性值有vertical(垂直排列)、horizontal(水平排列)
  • android:gravity:方法概念同上

用于控制控件的属性

  • android:layout_weight:用于设置控件的权重,即占据父容器剩余空间的百分比,属性值为数字,默认为属性值0

3. 帧布局-FrameLayout

所有组件层叠放置,后放置的组件会覆盖在之前放置的组件上

用于控制布局管理器的属性

  • android:foreground:为帧布局管理器设置前景图像,前景图像即始终位于整个帧布局最顶层的一个图片
  • android:foregroundGravity:设置前景图像位置

4. 表格布局-TableLayout

整个布局管理器由不同的TableRow表格行划分,每个TableRow可以横向放置多个控件

用于控制布局管理器的属性

  • android:collapseColumns:设置每一行TableRow的某一列可以被隐藏,即该列自动隐藏,属性值为列序号,列序号从0开始
  • android:stretchColumns:设置对应列自动拉伸填充屏幕剩余空间,属性值同上
  • android:shrinkColumns:设置对应列允许被收缩收缩,即当屏幕空间不足时收缩对应列控件宽度以便于尽可能完整显示其他控件

5. 网格布局-GridLayout

与表格布局类似,不过网格布局是使用rowcolumn即行列来划分整个布局管理器的,column和row的值需要在开始就设定。而且与表格布局相比,网格布局不仅可以跨行显示还可以跨列显示。

用于控制布局管理器的属性

  • android:rowCount:设置布局管理器划分为多少行
  • android:columnCount:设置布局管理器划分为多少列
  • android:orientation:同上,不过在这里作用变更为如果没有为放置的组件设置行列数时组件的默认排列方法

用于控制控件的属性

  • android:layout_column:设置控件放置在哪一列
  • android:layout_columnSpan:设置该组件跨几列显示
  • android:layout_columnWeight:设置组件水平方向的权重,以上这三个属性垂直方向的写法类似,将column换为row即可
  • android:layout_gravity:设置组件在对应网格中放置的格式

你可能感兴趣的:(Android学习笔记)