布局
在android 开发中基础组件时view 类似于html的div
ViewGroup 为一个view组 类似于html中的 hgroup
基础属性
android:layout_width 宽度
android:layout_height 高度
match_parent 填充最大宽和高
wrap_content 自适应高度和宽度,子控件的总和
dp 长度单位
sp 大小单位
android:background 背景
绝对布局(API3中已弃用)
AbsoluteLayout 绝对布局
API3中已弃用这里就不详细说了。
线性布局
LinearLayout 线性布局
android:weight:权重 (常用来划分组件模块)
android:layout_weight 属性为各个子视图分配权重
android:orientation: 排列方向
- Vertical 垂直
- Horizontal 水平
android:gravity:对齐方式
- left 左对齐
- right 右对齐
- center 居中对齐
- top 顶部对齐
- bottom 底部对齐
android:ignoreGravity: 忽略对齐方式
表格布局(基于线性布局的一种布局)
TableLayout 表格布局
android:collapseColumns: 设置需要被隐藏的列的序号
android:shrinkColumns: 设置允许被收缩的列的列序号
android:stretchColumns: 设置运行被拉伸的列的列序号
序列号从0 开始
android:layout_column=“2”: 合并2列
android:layout_span=“4”: 合并4行
相对布局
RelativeLayout 相对布局
相对布局不能同时设置高度为
wrap_content
和子布局为layout_alignParentBottom
,这样会产生一个循环依赖
android:ignoreGravity
手机左上角为(0,0)
往下为正 往右为正
相对定位的属性
//相对父容器定位
android:layout_alignParentTop 相对顶对齐
android:layout_alignParentLeft 相对父容器左对齐
android:layout_alignParentRight 相对父容器右对齐
android:layout_alignParentBottom 相对父容器底对齐
android:layout_centerHorizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInParent 垂直、水平居中
//相对兄弟容器
android:layout_toRightOf 兄弟的右边
android:layout_toLeftOf 兄弟的左边
android:layout_alignBaseline 同一水平线对齐
android:layout_below 基于…的下方
android:layout_above 基于…的上方
//外边距
android:layout_margin 外边距
//内边距
android:padding 内边距
帧布局
FrameLayout
属性:
android:foregroundGravity: 定义了前置可绘制区域的定位
- bottom 下端
- center 中心
- left 左端
- right 右端
- top 上端
- fill 铺满
android:measureAllChildren: 检测所有孩子的可见状态 - true
- false
网格布局
GridLayout 网格布局
在一个矩形的网格中来进行子组件的布局
android:alignmentMode 定义子组件中是否有间隔(默认是alignMargins)
- alignMargins 子组件之间没有边界
- alignBounds 子组件之间有边界
android:columnCount 设置自动定位子视图时创建的最大列数
值为int类型数据
android:columnOrderPreserved 设置使列边界显示的顺序和列索引的顺序是否相同
- true 相同(默认)
- false 不相同
android:orientation: 排列方向
- Vertical 垂直
- Horizontal 水平
android:rowCount 设置自动定位子视图时创建的最大行数
值为int类型数据
android:rowOrderPreserved 设置使行边界显示的顺序和行索引的顺序是否相同
- true 相同(默认)
- false 不相同
android:useDefaultMargins 当未手动设置视图的布局参数时,是否告诉网格布局使用缺省的外边距
- true 使用(默认)
- false 不使用