1>.相对布局RelativeLayout
功能展示图:
重要属性:
第一类属性 属性值为true或者false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父控件完全居中
android:layout_alignParentBottom 贴紧父控件的下边缘
android:layout_alignParentLeft 贴紧父控件的左边缘
android:layout_alignParentRight 贴紧父控件的右边缘
android:layout_alignParentTop 贴紧父控件的上边缘
android:layout_alignWithParentIfMissing 如果对应的兄弟控件找不到的话,就以父控件作为参照物
第二类属性 属性值必须为id的引用名“@id/id-name”
android:layout_below 在某控件下方
android:layout_above 在某控件上方
android:layout_toLeftOf 在某控件的左边
android:layout_toRightOf 在某控件的右边
android:layout_alignTop 本控件的上边缘和某控件的上边缘对齐
android:layout_alignLeft 本控件的左边缘和某控件的左边缘对齐
android:layout_alignBottom 本控件的下边缘和某控件的下控件对齐
android:layout_alignRight 本控件的右边缘和某控件的有边缘对齐
第三类:属性值为具体的像素值,如30dip,40px
android:layout_marginBottom 离某控件底边缘的距离
android:layout_marginLeft 离某控件左边缘的距离
android:layout_marginRight 离某控件右边缘的距离
android:layout_marginTop 离某控件上边缘的距离
android:gravity
对该view的设定,相对于控件内部的位置变化更改。
比如Bottom的Text,设置为right就是距离父控件。
android:layout_gravity
设置子组件的对其方式
android:ignoreGravity
设置哪些子组件忽视父组件的对齐方式
相对于父控件,改view的位置变化
android:layout_alignParentRight
当前控件的有段和父控件的右端对齐,属性只能为true或false,默认为false。
android:scaleType
该属性主要为控制图片的size。
CENTER/center 按照图片原来的size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示。
CENTER_CROP/centercrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
CENTER_INSIDE/centerinside 将图片的内容完整居中显示,通过比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
FIT_CENTER/fitCenter 将图片按比例扩大/缩小到View的宽度,居中显示
FIT_END/fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
FIT_START/fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
FIT_XY/fitXY 把图片不按比例扩大/缩小到View的大小显示
MATRIX/ matrix 用矩阵来绘制,动态缩小放大图片来显示
【Drawable的文件命名不能大写】
2>.线性布局管理器(LinearLayout)
android:orientation=“”:设置管理器的类型
horizontal:水平
vertical:垂直
3>.帧布局管理器FrameLayout
4>.表格布局管理器TableLayout(适用于表单的布局)
5>.网格布局管理器GridLayout(不仅可以跨行显示,而且可以跨列显示)
GridLayout 使用属性
属性 | 作用 |
---|---|
android:columnCount | 最大列数 |
android:rowCount | 最大行数 |
android:orientation | GridLayout中子元素的布局方向 |
android:alignmentMode | alignBounds:对齐子视图边界 alignMargins :对齐子视距内容,默认值 |
android:columnOrderPreserved | 使列边界显示的顺序和列索引的顺序相同,默认是true |
android:rowOrderPreserved | 使行边界显示的顺序和行索引的顺序相同,默认是true |
android:useDefaultMargins | 没有指定视图的布局参数时使用默认的边距,默认值是false |
item属性
属性 | 作用 |
---|---|
android:layout_column | 指定该单元格在第几列显示 |
android:layout_row | 指定该单元格在第几行显示 |
android:layout_columnSpan | 指定该单元格占据的列数 |
android:layout_rowSpan | 指定该单元格占据的行数 |
android:layout_gravity | 指定该单元格在容器中的位置 |
android:layout_columnWeight | (API21加入)列权重 |
android:layout_rowWeight | (API21加入) 行权重 |
android:layout_gravity | 作用 |
---|---|
center | 不改变元素的大小,仅居中 |
center_horizontal | 不改变大小,水平居中 |
center_vertical | 不改变大小,垂直居中 |
top | 不改变大小,置于顶部 |
left | 不改变大小,置于左边 |
bottom | 不改变大小,置于底部 |
right | 不改变大小,置于右边 |
start | 不改变大小,根据系统语言,置于开始位置 |
end | 不改变大小,置于结尾 |
fill | 拉伸元素控件,填满其应该所占的格子 |
fill_vertical | 仅垂直方向上拉伸填充 |
fill_horizontal | 仅水平方向上拉伸填充 |
clip_vertical | 垂直方向上裁剪元素,仅当元素大小超过格子的空间时 |
clip_horizontal | 水平方向上裁剪元素,仅当元素大小超过格子的空间时 |