ViewGroup
ViewGroup.LayoutParams | 作用 |
---|---|
android:layout_height | 控制布局的高度 |
android:layout_width | 控制布局的宽度 |
FILL-RARENT | 与父容器相同 |
MATCH_PARENT | 与父容器相同 |
WARP_CONTENT | 包裹自身的内容 |
ViewGroup.MarginLayoutParams | 控制子组件的外边距 |
外边距:指组件四周的区域
- android:layout_marginTop
- android:layout_marginLeft
- android:layout_marginBottom
- android:layout_marginRight
内边距:
- android:paddingTop
- android:paddingLeft
- android:paddingBotton
- android:paddingRight
具体值可以通过具体属性值来设置;也可以通过属性变量来设置
使用XML布局文件控制UI界面基本步骤
- 在Android应用的res/layout目录下面编写XML布局文件
- 在Activitiy中使用Java代码显示XML文件中布局的内容
setContentView(R.layout.activity_main);
相对布局
如何定义相对布局RelativeLayout
RelativeLayout.LayoutParams提供一些xml属性
RelativeLayout.LayoutParams提供一些xml属性 | 作用 |
---|---|
android:gravity | 各子组件摆放方式 |
android:ignoreGravity | 那个组件不受上个组件影响 |
android:layout_above | 表示当前控件布局在选择id控件的上面 |
android:layout_below | 表示当前控件布局在选择id控件的下面 |
android:layout_toLeftOf | 表示当前控件布局在选择id控件的左边 |
android:layout_toRightOf | 表示当前控件布局在选择id控件的右边 |
android:layout_alignparentBottom | 贴紧父元素的下边缘 |
android:layout_alignparentLeft | 贴紧父元素的左边缘 |
android:layout_alignparentRight | 贴紧父元素的右边缘 |
android:layout_alignparentTop | 贴紧父元素的上边缘 |
android:layout_alignBottom | 该控件的底部和指定ID的控件的底部对齐 |
android:layout_alignLeft | 该控件的底部和指定ID的控件的左边缘对齐 |
android:layout_alignRight | 该控件的底部和指定ID的控件的右边缘对齐 |
android:layout_alignTop | 该控件的底部和指定ID的控件的顶部对齐 |
android:layout_centerHorizotal水平居中 | |
android:layout_centerInParent | 相对于父元素完全居中 |
android:layout_centerVertical | 垂直居中 |
线性布局管理器(LinearLayout)
android:orientation="vertical"//垂直
//每一行只能放置一个组件,并且这个组件也不会换行,可能有不被显示
android:orientation="horizontal"//水平
//每一列只能放置一各组件,并且这个组件也不会换列,可能有不被显示
如何定义线性布局管理器
LinearLayout标记 | 作用 |
---|---|
android:orientation | 指定布局内控件排列方式 |
android:gravity | 控件布局方式 |
android:layout_weight | 设置组件所占权重 |
帧布局管理器
主要显示重叠的内容或者拖动效果
FrameLayout标记 | 作用 |
---|---|
android:foreground: | 为当前的帧布局管理器设置一个前景图像 |
android:foregroundGravity | 设置前景图像的位置 |
表格布局管理器
以行列的形式来管理放入UI的组件
TableLayout | 作用 |
---|---|
TableRow | 每添加一个,就多一行 |
android:collapseColumns=“n” | 隐藏n+1行 |
android:stretchColumns=“n” | 拉伸n+1列 |
android:shrinkColumns=“n” | 收缩n+1列 |
网格布局管理器
GridLayout | 作用 |
---|---|
android:columnCount | 指定网格最大列数 |
android:orientation | 指定当我们没有为放置器组件分配行和列时的排列方式 |
android:rowCount | 指定网格最大行数 |
GridLayout.LayoutParams | 作用 |
---|---|
android:layout_column | 指定子组件位于网格的第几列 |
android:layout_columnSpan | 指定子组件横向跨几列 |
android:layout_columnWeight | 指定子组件在水平方向的权重 |
android:layout_gravity | 设置子组件采用什么方式占据网格的空间 |
android:layout_row | 指定子组件位于网格的第几行 |
android:layout_rowSpan | 指定子组件纵向跨几行 |
android:layout_rowWeight | 在垂直方向上的权重 |