赞
踩
1. orientation | 布局中组件的排列方式 |
2. gravity | 控制组件所包含的子元素的对齐方式,可多个组合 |
3. layout _ gravity | 控制该组件在父容器里的对其方式 |
4. background | 为该组件设置一个背景图片,或者是直接用颜色覆盖 |
5. divider | 分割线 |
6. showDividers | 设置分割线所在的位置, none (无), beginning (开始), end (结束), middle (每两个组件间) |
7.dividerPadding | 设置分割线的 padding |
8. layout _ weight | (权重)该属性是用来等比例的划分区域 |
android:orientation="vertical">vertical表示纵向排列,horizontal表示横向排列
- LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_height="match_parent"
- android:layout_width="match_parent"
- android:divider="@drawable/divider"
- android:showDividers="middle"
- android:dividerPadding="100dp"
- android:orientation="vertical"
- android:gravity="center_vertical">
其中divider ,showDivider, dividerPadding,三个参数为设置分割线的参数
- <View
- android:background="#00ff00"
- android:layout_width="match_parent"
- android:layout_height="1dp"/>
- <LinearLayout
- android:background="#ff0000"
- android:layout_width="100dp"
- android:layout_height="100dp"/>
- <LinearLayout
- android:background="#ffff00"
- android:layout_width="100dp"
- android:layout_weight="1"
- android:layout_height="100dp"/>
- <LinearLayout
- android:background="#00ffff"
- android:layout_width="100dp"
- android:layout_height="100dp"/>
1. layout _ alignParentLeft | 左对齐 |
2. layout _ alignParentRight | 右对齐 |
3. layout _ alignParentTop | 顶部对齐 |
4. layout _ alignParentBottom | 底部对齐 |
5. layout _ centerHorizontal | 水平居中 |
6. layout _ centerVertical | 垂直居中 |
7. layout _ centerinParent | 中间位置 |
1. layout _ toleftof | 放置于参考组件的左边 |
2. layout _ toRightof | 放置于参考组件的右边 |
3. layout _ above | 放置于参考组件的上方 |
4. layout _ below | 放置于参考组件的下方 |
5. layout _ alignTop | 对齐参考组件的上边界 |
6. layout _ alignBottom | 对齐参考组件的下边界 |
7. layout _ alignLeft | 对齐参考组件的左边界 |
8. layout _ alignRight | 对齐参考组件的右边界 |
- <RelativeLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
-
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <RelativeLayout
- android:background="#ff0000"
- android:layout_width="100dp"
- android:layout_height="100dp"/>
-
- <RelativeLayout
- android:background="#00ff00"
- android:layout_width="100dp"
- android:layout_height="100dp"/>
-
- </RelativeLayout>
此两个会重合,形成相对布局:后面的会将前面的进行覆盖。
当给第一个RelativeLayout设置好后
android:layout_alignParentRight="true"
相对父容器进行布局
但是相对于兄第组件要设置,兄弟组件有很多,相对于哪个要说明清楚例如:
- <RelativeLayout
- android:id="@+id/rl1"
- android:background="#ff0000"
- android:layout_alignParentRight="true"
- android:layout_width="100dp"
- android:layout_height="100dp"/>
-
- <RelativeLayout
- android:background="#00ff00"
- android:layout_toLeftOf="@+id/rl1"
- android:layout_width="100dp"
- android:layout_height="100dp"/>
实现效果图:
1. layout _ margin | 上下左右偏移 |
2. layout _ marginLeft | |
3. layout _ marginRight | |
4. layout _ marginTop | |
5. layout _ margiBottom |
- <RelativeLayout
- android:background="#00ff00"
- android:layout_marginLeft="100dp"
- android:layout_width="100dp"
- android:layout_height="100dp"/>
帧布局的绘制原理是:从左上角绘制完成一个红色后,当绘制黄色的时候又是从左上角开始,会形成一个覆盖效果。(一个一个往上堆)
android : foreground | 设置前景 |
android : foregroundGravity | 设置前景位置 |
- <FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
-
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <FrameLayout
- android:layout_width="400dp"
- android:layout_height="400dp"
- android:background="#ff0000" />
-
- <FrameLayout
- android:layout_width="300dp"
- android:layout_height="300dp"
- android:background="#ffff00" />
-
- </FrameLayout>
- <FrameLayout
- android:layout_width="300dp"
- android:layout_height="300dp"
- android:foreground="@mipmap/ic_launcher"
- android:foregroundGravity="right|bottom"
- android:background="#ffff00" />
此时背景图片可任意到任何地方
在TableLayout中写入控件,会占据一行的大小
若要使想将两个按钮占据一行,使用TableRow
- <TableRow>
- <Button
- android:text="第一个"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
-
- <Button
- android:text="第二个"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
- </TableRow>
当超过一行时,不会自动换行,直接会覆盖一部分。
android : collapseColumns | 设置需要被隐藏的列的序号,从 o 开始 |
android : stretchColumns | 设置允许被拉伸的列的列序号,从0开始 |
android : shrinkColumns | 设置允许被收缩的列的列序号,从 o 开始 |
android : layout _ column | 显示在第几列 |
android : layout _ span | 横向跨几列 |
实现效果实例:
android:collapseColumns="0"第一个按钮所在的为第零列
若是隐藏多列时android:collapseColumns="0,1"即可
android:stretchColumns="1"
此时可通过拉伸将其展示,拉伸是占用其剩余空间。
android:shrinkColumns="2"
同理收缩的原理也是一样的,超出的时候收缩才有效果
可以把行进行合并,也可以把列进行合并,布局会更加灵活
android : orientation | 设置水平显示还是垂直显示 |
android : columnCount | 设置行的显示个数 |
android : rowCount | 设置列的显示个数 |
android:orientation="vertical"将横向排列变换成纵向排列
android:columnCount="3"一行展示三列,多余的自动换行
android:rowCount="3" android:orientation="vertical"一列排列三行
android : layout _ column | 显示在第几列 |
android : layout _ columnSpan | 横向跨几列 |
android : layout _ columnWeight | 横向剩余空间分配方式 |
android : layout _ gravity | 在网格中的显示位置 |
android : layout _ row | 显示在第几行 |
android : layout _ rowSpan | 横向跨几行 |
android : layout _ rowWeight | 纵向剩余空间分配方式 |
- <Button
- android:text="第一个"
- android:layout_row="1"
- android:layout_column="0"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"/>
实现效果如图:
设置非常灵活
Button android:text="第四个" android:layout_columnWeight="1" android:layout_height="wrap_content" android:layout_width="wrap_content"/> 剩余空间全部由第四个按钮占领
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。