Android UI
- 基础容器
- LinearLayout线性布局
- RelativeLayout相对布局
- FrameLayout帧布局
- 基础控件
- TextView文本
- Button按钮
- ImageeView图像
- Tab选项卡
- 高级控件
- RecyclerView
- 列表
- 网格
- 瀑布
基础布局容器
- LinearLayout线性布局:横着或者竖着按顺序排列
- RelativeLayout相对布局:起始坐标是屏幕左上角,以同级或上级为参考系定位位置
- FrameLayout帧布局:像千层饼一样,一层压着一层.
- ConstraintLayout约束布局:Google于2016年发布的一种布局方式,它不在android的基础api包里,需要额外引入.
1.线性布局LinearLayout
| 常用属性 | 可选值 | 说明 |
|---|---|---|
| orientation | 1.vertical:垂直排列;2.horizontal:水平排列 | 布局排列方向 |
| layout_width | 1.match_parent:填充父容器的剩余空间;2.wrap_content:根据子视图宽高自适应的宽高;3.直接指定多大dp | 必须有的属性,控件的尺寸 |
| layout_height | 1.match_parent:填充父容器的剩余空间;2.wrap_content:根据子视图宽高自适应的宽高;3.直接指定多大dp | 必须有的属性,控件的尺寸 |
| background | #ff0000这样的 | 背景颜色 |
| gravity | 1.center;2.horizontal_center;3.vertical_center; | 子控件相对该父容器的位置 |
| layout_gravity | 1.center;2.horizontal_center;3.vertical_center; | 决定该容器相对于它的父容器的位置 |
| weight | 按照比例分配容器剩余的宽高 |
如果 layout_gravity的对齐方式与父级的排列方式相同了,那么这个属性就不生效了
2.RelativeLayout
相对布局在摆放子视图位置时,按照指定的参考系来摆放子视图的位置,默认以屏幕左上角(0,0)位置作为参考拜访位置.
这些属性都是应用于RelativeLayout的子元素使用的.
相对于父元素 摆放自己位置常用的属性| 常用属性 | 可选值 |说明| | --- | --- | --- | | layout_alignParentTop | true/false | 是否让控件相对于父容器顶部对齐 | | layout_alignParentBottom | true/false | 是否让控件相对于父容器底部对齐 | | layout_alignParentLeft | true/false | 是否让控件相对于父容器左边对齐 | | layout_alignParentRight | true/false | 是否让控件相对于父容器右边对齐 | | layout_centerHorizontal | true/false | 相对于父容器水平居中显示 | | layout_centerVertical | true/false | 相对于父容器垂直居中显示 | | centerInParent | true/false | 相对父容器居中显示 |
-相对于兄弟元素摆放自己的位置
| 常用属性 | 可选值 | 说明 |
|---|---|---|
| layout_above | @+id/ | 指定在那个控件的上侧 |
| layout_below | @+id/ | 指定在哪个控件的下侧 |
| layout_toLeftOf | @+id/ | 指定在哪个控件的左侧 |
| layout_toRightOf | @+id/ | 指定在哪个控件的右侧 |
-相对于兄弟元素的对齐方式
| 常用属性 | 可选值 | 说明 |
|---|---|---|
| layout_alignLeft | @+id/ | 该控件在左边沿与指定控件的左边对齐 |
| layout_alignRight | @+id/ | 该控件的右边沿与指定控件右边对齐 |
| layout_algnTop | @+id/ | 该控件的上边沿与指定控件的上边沿对齐 |
| layout_algnBottom | @+id/ | 该控件的下边沿与指定控件的下边沿对齐 |
3.帧布局FrameLayout
组件的默认位置都是左上角,组件之间可以重叠.像千层饼一样,一层压着一层;可以设置上下左右的对齐,水平垂直,设置方式与线性布局相似;
| 常用属性 | 可选值 | 说明 |
|---|---|---|
| layout_gravity | center/center_vertical/center_horizontal | 组件相对父容器的位置 |
| layout_marginLeft | 具体数值 | 左侧外间距 |
| layout_marginTop | 具体数值 | 上侧外间距 |
| layout_marginBottom | 具体数值 | 右侧外间距 |
| layout_marginBottom | 具体数值 | 下侧外间距 |