1.常用的5中布局方式
- LinearLayout 线性布局
- RelativeLayout 相对布局
- TableLayout 表格布局
- FrameLayout帧布局(页面浮在另一个页面上面)
- 5.ConstrantLayout 约束布局(Android studio 默认布局)为了针对非专业开发人员,使 拖拽 操作更友好
LinearLayout
2.线性布局
1.怎么将AS默认的页面改为LinearLayout
- 在Design页面,Compoeent Tree下面右键选择Convert view 选择想要的 布局方式
- 在Code页面默认布局位置,输入想要的布局方式
2.两种线性布局排布方式
1.水平线性布局:所有空间都是水平挨个排布
android:orientation="horizontal
2.垂直的线性布局:说有的空间都是垂直挨个排布
android:orientation="vertical
3.在安卓中所有在也面显示的东西,必须拥有两个属性,宽和高
android:Layout_width 宽度
android:Layout_ height 高度
对于宽和高有三个值
- wap_content 按照内容自适应
- match_parent 按照父容器的尺寸填满
- xxxdp 多少多少像素的大小(用的地方比较单一,用于固定死的地方)
3.嵌套线性布局
4.比重:占用的百分比
android:layout_weight="1"
比重生效时会与原来设置的宽,,高,,,冲突
排布方式 gravity
- gravity :center:容器位置不变,容器内的内容基于容器居中
- Layou_gravity:改变容器的位置,容器内的内容 不受影响
分隔线divider:分隔本身内部元素
divider=“@color/black”
showDividers=“middle”
android:divider="@drawable/divider_linear_1"
android:showDividers="middle"
padding:容器内部的距离
margin:容器对于其他容器的距离
RelativeLLinear
相对于其他同等级元素
属性名称 | 属性含义 |
---|---|
android:layout_above="@id/aaa" | 在指定View的上方 |
android:layout_abelow="@id/aaa" | 在指定View的下方 |
android:layout_toLeftOf="@id/aaa" | 在指定View的左方 |
android:layout_toRightOf="@id/aaa" | 在指定View的右方 |
android:layout_alignTop="@id/aaa" | 与指定View的上边界一致 |
android:layout_alignBottom="@id/aaa" | 与指定View下边界一致 |
android:layout_alignLeft="@id/aaa" | 与指定View的左边界一致 |
android:layout_alignRight="@id/aaa" | 与指定View的右边界一致 |
相对于父属性
属性名称 | 属性含义 |
---|---|
android:layout_alignParentLeft="true" | 在父元素内左边 |
android:layout_alignParentRight="true" | 在父元素内右边 |
android:layout_alignParentTop="true" | 在父元素内顶部 |
android:layout_alignParentBottom="true" | 在父元素内底部 |
对齐方式
属性名称 | 属性含义 |
---|---|
android:layout_centerInParent="true" | 居中布局 |
android:layout_centerVertical="true" | 垂直居中布局 |
android:layout_centerHorizontal="true" | 水平居中布局 |
间隔
属性名称 | 属性含义 |
---|---|
android:layout_marginBottom="" | 离某元素底边缘的距离 |
android:layout_marginLeft="" | 离某元素左边缘的距离 |
android:layout_marginRight ="" | 离某元素右边缘的距离 |
android:layout_marginTop="" | 离某元素上边缘的距离 |
android:layout_paddingBottom="" | 往内部元素底边缘填充距离 |
android:layout_paddingLeft="" | 往内部元素左边缘填充距离 |
android:layout_paddingRight ="" | 往内部元素右边缘填充距离 |
android:layout_paddingTop="" | 往内部元素顶部边缘填充距离 |
根据兄弟组件定位