Android布局浅析
2016-05-30 16:54
369 查看
Android布局是应用界面开发的重要环节,在Android中共有五种布局方式,分别是FramLayout(框架布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelateLayout(相对布局),TableLayout(表格布局)。
一、FrameLayout
1.最简单的布局对象
2.在屏幕上故意保留的空白空间,你可以之后填充一个单独的对象
3.所有的子元素都在屏幕的左上角
4.不能为子元素制定位置
这个布局可以看出是墙角堆东西,有一个四方的矩形的左上角墙角,我们放了第一个东西,要再放一个,那就放在原来放的位置上面,这样依次放,会盖住原来的东西
这个布局比较简单,也只能放一点比较简单的东西。(当后面依次放的东西比前一个小的时候,就会一层一层的显示,每一层的都会显示)。
二、LinearLayout
1.在一个方向上(水平或垂直)对齐所有子元。
2.一个垂直列表每行将只有一个子元素(无论它们有多宽),除非是布局里面套着布局,这个另说。
3.一个水平列表只有一列的高度(最高子元素的高度来填充).
每个LinearLayout里面又分为垂直布局和水平布局,还有一个重要的属性就是layout_weight="1",这个在weight在垂直布局时,代表行距;水平的时候代表列宽。
三、AbsoluteLayout
使子元素能够指明确切的X/Y坐标显示在屏幕上
1.(0,0)是左上角
2.当你下移或右移时,坐标值增加
允许元素重叠(但是不推荐)
注意:
1.一般不建议使用AbsoluteLayout除非你有很好的理由使用它
2.因为它相当严格并且在不同的设备显示中不能很好的工作。
四、RelateLayout
让子元素制定它们相对与其他元素的位置(通过ID来指定)或相对于父布局对象,它可以理解为以一个元素为参照物,来定位的布局方式(推荐使用)
主要属性:
相对于某一个元素
android:layout_alignParentLeft="true"//在父元素左对齐
android:layout_alignParentRight="true"//在父元素右对齐更多的属性请自行查看
五、TableLayout
把子元素放入到行于列中;不显示行、列或是单元格边界线;单元格不能横跨行,如HTML中一样
每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定它的对齐方式android:gravity=""
这五个布局元素可以相互嵌套应用,做出漂亮的界面。(计算器的界面就是用TableLayout)
一、FrameLayout
1.最简单的布局对象
2.在屏幕上故意保留的空白空间,你可以之后填充一个单独的对象
3.所有的子元素都在屏幕的左上角
4.不能为子元素制定位置
这个布局可以看出是墙角堆东西,有一个四方的矩形的左上角墙角,我们放了第一个东西,要再放一个,那就放在原来放的位置上面,这样依次放,会盖住原来的东西
这个布局比较简单,也只能放一点比较简单的东西。(当后面依次放的东西比前一个小的时候,就会一层一层的显示,每一层的都会显示)。
二、LinearLayout
1.在一个方向上(水平或垂直)对齐所有子元。
2.一个垂直列表每行将只有一个子元素(无论它们有多宽),除非是布局里面套着布局,这个另说。
3.一个水平列表只有一列的高度(最高子元素的高度来填充).
每个LinearLayout里面又分为垂直布局和水平布局,还有一个重要的属性就是layout_weight="1",这个在weight在垂直布局时,代表行距;水平的时候代表列宽。
三、AbsoluteLayout
使子元素能够指明确切的X/Y坐标显示在屏幕上
1.(0,0)是左上角
2.当你下移或右移时,坐标值增加
允许元素重叠(但是不推荐)
注意:
1.一般不建议使用AbsoluteLayout除非你有很好的理由使用它
2.因为它相当严格并且在不同的设备显示中不能很好的工作。
四、RelateLayout
让子元素制定它们相对与其他元素的位置(通过ID来指定)或相对于父布局对象,它可以理解为以一个元素为参照物,来定位的布局方式(推荐使用)
主要属性:
相对于某一个元素
//该元素在id为a的下面 android:layout_below="@id/a" //该元素的左边是b android:layout_toLeftOf="@id/b"相对于父元素:
android:layout_alignParentLeft="true"//在父元素左对齐
android:layout_alignParentRight="true"//在父元素右对齐更多的属性请自行查看
五、TableLayout
把子元素放入到行于列中;不显示行、列或是单元格边界线;单元格不能横跨行,如HTML中一样
每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定它的对齐方式android:gravity=""
这五个布局元素可以相互嵌套应用,做出漂亮的界面。(计算器的界面就是用TableLayout)
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories