概述
- 布局本身是不能显示出任何数据, 它可以包含一些子视图, 并控制子视图的布局
常用的Layout
LinearLayout
RelativeLayout
FrameLayout
ListView
GridView
其他
LinearLayout
- 线性布局: 用来控制其子View以水平或垂直方式展开显示
- 重要属性
– orientation:方向(即水平布局 or 垂直布局)
– layout_weight:权重 - 理解LinearLayout权重
– layout_weight(权重)的值
(1) =0(默认值): 指定多大空间就占据多大的空间
(2)>0: 将父视图中的可用空间进行分割, 值越大权重就越大, 占据的比例就会越大
– Layout_weight的使用场景
(1) 将布局的宽度或高度平均分成几个等份或等比例的分成几个等份
(2) 垂直方向上占用中间所有空间 或 水平方向上占用中间所有空间(设置layout_weight=1即可)
RelativeLayout
- 相对布局: 用来控制其子View以相对定位的方式进行布局显示
- 相对布局是最灵活, 最强大,也是学习难度最大的布局
- 相对布局相关属性比较多
– 兄弟视图之间: 同方向对齐, 反方向对齐
– 与父视图之间: 同方向对齐, 居中
FrameLayout
- 帧布局中的每一个子View都代表一个画面,默认以屏幕左上角作为(0,0)坐标,按定义的先后顺序依次逐屏显示,后面出现的会覆盖前面的画面
- 通过子View的android:layout_gravity属性来指定子视图的位置
常用视图标签属性
属性的划分
- 针对任何View的属性
– 常用的最基本属性
– 内边距属性 padding
– 外边距属性 margin - 只针对RelativeLayout的属性
– 反方向对齐属性 to/above/below
– 同方向对齐属性 align
– 相对父视图的属性 alignparent/center - 只针对LinearLayout的属性
– 权重属性 weight
– 方向属性 oritation
针对任何View的属性
常用基本属性
属性名 | 作用 |
---|
id | 为视图对象指定相应的ID @+id/idname |
layout_width | 视图对象的宽度,必须指定 |
layout_height | 视图对象的高度,必须指定 |
layout_gravity | 控件本身相对于父视图的位置 |
grivity | 指定控件中的内容的基本位置 |
background | 指定该控件所使用的背景(图片或颜色) |
内边距与外边距属性
- 内边距属性
– android:padding
– android:paddingLeft
– android:paddingTop
– android:paddingRight
– android:paddingBottom - 外边距属性
– android:layout_margin
– android:layout_marginLeft
– android:layout_marginTop
– android:layout_marginRight
– android:layout_marginBottom
只针对RelativeLayout的属性
相对兄弟视图:同方向对齐属性
- android:layout_alignLeft
- android:layout_alignTop
- android:layout_alignRight
- android:layout_alignBottom
相对兄弟视图:反方向对齐属性
- android:layout_toLeftOf
- android:layout_toRightOf
- android:layout_above
- android:layout_below
相对父视图:同方向对齐属性
- android:layout_alignParentLeft
- android:layout_alignParentTop
- android:layout_alignParentRight
- android:layout_alignParentBottom
相对父视图:剧中对齐属性
- android:layout_centerInParent
- android:layout_centerVertical
- android:layout_centerHorizontal