- LinearLayout
- RelativeLayout
- 自定义ViewGroup
- FrameLayout
- TableLayout
- AbsoluteLayout
1.LinearLayout布局
两种排法:
从左到右
android:orientation=”horizontal”
从上到下
android:orientation=”vertical”
2.RelativeLayout布局
参考其他控件进行布局,默认为父控件。
有三种类型的属性:
属性值是true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中。
android:layout_alignParentBottom 位于父元素的下边缘
android:layout_alignParentTop 位于父元素的上边缘
android:layout_alignParentLeft 位于父元素的左边缘
android:layout_alignParentRight 位于父元素的右边缘
属性值是”@id/*“
android:layout_below 在某元素的下方
android:layout_above 在某元素的上方
andorid:layout_toRightOf 在某元素的右方
android:layout_toLeftOf 在某元素的左方
android:layout_alignBottom 和某元素下方对齐
android:layout_alignTop 和某元素上方对齐
android:layout_alignRight 和某元素右方对齐
android:layout_alignLeft 和某元素左方对齐
属性值是数值
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离
android:layout_marginBottom 离某元素下边缘的距离
位于父控件的最底部
layout_centerHorizontal=”true”
layout_alignParentBottom=”true”
资源
字符串资源
strings.xml
textAllCapes=false 设置按钮的大小写
图片
Drawable
颜色资源
colors.xml
尺寸资源
自己创建的:dimens.xml
3.MyLayout布局(自定义ViewGroup)
自定义布局主要是重写两个方法:
onMeasure() 这个是写自定义容器的大小。
onLayout() 这个是写子元素的布局。
我自己写了一个自定义布局,是顺序填充会延对角线进行排列。
4.FrameLayout布局
rameLayout帧布局是最简单的布局之一,采用帧布局的容器中无论放入多少个控件,控件默认情况下左上角都对齐到容器的左上角,如果控件一样大,同一时间只能见到最上面的。
5.TableLayout布局
表格布局。
- 写在TableLayout中的属性
- android:stretchColumns 设置第几列为伸展(0表 示第一列)
- android:shrinkColumns 设置第几列为收缩
- android:collapseColumns 设置第几列为隐藏
写在TableRow里的控件里的属性 - android:layout_column 设置控件在第几列
- android:layout_span 设置控件能跨多少列