【Android应用开发技术:用户界面】布局管理器
来源:互联网 发布:象过河软件怎么用 编辑:程序博客网 时间:2024/04/30 09:26
作者:郭孝星
微博:郭孝星的新浪微博
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
Github:https://github.com/AllenWells
【Android应用开发技术:用户界面】章节列表
布局管理继承于ViewGroup,它用来管理Android应用用户界面里各组件,它的使用使得Android应用的图形用户界面具有良好的平台无关性。
常见的布局方式如下所示:
- 线性布局
- 表格布局
- 帧布局
- 相对布局
- 网络布局
一 线性布局
线性布局,即LinearLayout,控制容器内的组件横向或纵向地一个挨着一个排列起来。
1.1 线性布局特点
如下图所示:
线性布局并不会自动换行,当一行组件徘满时,多出的组件不会显示出来。
1.2 线性布局属性
android:gravity 取值如下所示:
- top 不改变控件大小,对齐到容器顶部
- bottom 不改变控件大小,对齐到容器底部
- left 不改变控件大小,对齐到容器左侧
- right 不改变控件大小,对齐到容器右侧
- center_vertical 不改变控件大小,对齐到容器纵向中央位置
- center_horizontal 不改变控件大小,对齐到容器横向中央位置
- center 不改变控件大小,对齐到容器中央位置
- fill_vertical 若有可能,纵向拉伸以填满容器
- fill_horizontal 若有可能,横向拉伸以填满容器
- fill 若有可能,纵向横向同时拉伸以填满容器
二 表格布局
表格布局,即TableLayout,继承于LinearLayout,它通过行、列的形式管理UI组件。
2.1 表格布局特点
- TableLayout通过添加TableRow和其他组件来控制表格的行数和列数,每个TabRow就是一个表格行,TableRow也是容器,也可以在TableRow中添加其他组件。
- 如果直接在TableLayout中添加一个组件,那么这个组件则独占一行。
- TableLayout中列的宽度由该列中最宽的那个单元格决定,整个表格布局的宽度则取决于父容器的宽度。
- 单元格的设置有以下三种行为方式:
- Shrinkable:该列所有单元格可以被收缩,以保证该表格能适应父容器的宽度。
- Stretchable:该列所有单元格可以被拉伸,以保证组件能够完全填满表格空余空间。
- Collapsed:该列所有单元格会被隐藏。
三 帧布局
帧布局,即FrameLayout,它继承了ViewGroup,帧布局为每个加入其中的组件创建一个空白的区域,称为一帧,每个子组件占据一帧。帧布局是元素的相互叠加。
四 相对布局
相对布局,即RelativeLayout,相对布局内子组件的位置总是相对于兄弟组件和父容器来决定的。
4.1 相对布局特点
相对布局如下图所示:
4.2 相对布局属性
4.2.1 RelativeLayout中取值为true或false的属性列表
4.2.2 RelativeLayout中取值为其他控件id的属性列表
4.2.3 RelativeLayout中取值为像素的属性列表
五 网络布局
网络布局,即GridLayout,它将容器划分为row x column个网格,每个网格可以放置一个组件。在该布局内,一个组件可以横跨多行,也可以横跨多列。
网络布局如下图所示:
0 0
- 【Android应用开发技术:用户界面】布局管理器
- 【Android应用开发技术:用户界面】用户界面布局技巧
- 【Android应用开发技术:用户界面】用户界面基本原理
- 【Android应用开发技术:用户界面】TextView
- 【Android应用开发技术:用户界面】ImageView
- 【Android应用开发技术:用户界面】AdapterView
- 【Android应用开发技术:用户界面】ProgressBar
- 【Android应用开发技术:用户界面】ViewAnimator
- 【Android应用开发技术:用户界面】Dialog
- 【Android应用开发技术:用户界面】Menu
- 【Android应用开发技术:用户界面】ActionBar
- 【Android应用开发技术:用户界面】SurfaceView
- 【Android应用开发技术:用户界面】SurfaceHolder
- 【Android应用开发技术:用户界面】章节列表
- Android应用开发———Android中的布局管理器
- 【Android应用开发技术:用户界面】其他杂项组件
- 【Android应用开发技术:用户界面】视图组件View
- 【Android应用开发技术:用户界面】设备适配
- Android apk动态加载机制的研究
- ArcGIS教程:获取径流特征
- Android统计图表之柱状图(条形图)
- HTML5移动开发:手机屏幕分辨率和手机浏览器分辨率
- svn独立服务器搭建(redhat)
- 【Android应用开发技术:用户界面】布局管理器
- 基于OC的HTML解析1—获得其数组结构
- easyui-validatebox 验证两次密码是否输入一致
- 微信网页调试小记
- 多态&抽象&继承
- Java____多态之上下转型与重写、重载概念复习
- 基本数据类型和引用类型
- C. Case of Matryoshkas( Codeforces Round #310 (Div. 2) 模拟)
- Delphi开发学习二:使用ADOQuery控件对SQL数据库表进行操作