基础-7 界面布局
来源:互联网 发布:ubuntu wiki 编辑:程序博客网 时间:2024/06/14 11:35
所有的布局方式都可以归类为ViewGroup的5个类别,即ViewGroup的5个直接子类。
1.LinearLayout,线性布局方式
LinearLayout容器中的组件一个挨一个排列,通过控制android:orientation属性,可控制各组件是横向排列还是纵向排列。
属性:
android:gravity 设置布局管理器内组件的对齐方式
gravity属性支持top, left, right, center_vertical, fill_vertical, center_horizontal, fill_horizontal, center, fill, clip_vertical, clip_horizontal。也可以同时指定多种对齐方式的组合。
android:layout_gravity 指定该子元素在LinearLayout中的对齐方式
android:layout_weight 指定子元素在LinearLayout中所占的权重
2.Relative Layout,相对布局
RelativeLayout按照各子元素之间的位置关系完成布局。在此布局中的子元素里与位置相关的属性将生效。例如android:layout_below, android:layout_above, android:layout_centerVertical等。注意在指定位置关系时,引用的ID必须在引用之前,先被定义,否则将出现异常
android:layout_centerHorizontal 设置该子组件是否位于布局容器的水平居中
android:layout_centerVertical
android:layout_centerParent
android:layout_alignParentBottom
android:layout_alignParentLeft
android:layout_alignParentRight
android:layout_alignParentTop
3.FrameLayout,帧布局
FrameLayout是五大布局中最简单的一个布局,可以说成是层布局方式。在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。
4.自定义布局
布局属性详解
RelativeLayout布局
android:layout_marginTop=”25dip” //顶部距离
android:gravity=”left” //空间布局位置
android:layout_marginLeft=”15dip //距离左边距
// 相对于给定ID控件
android:layout_above 将该控件的底部置于给定ID的控件之上;
android:layout_below 将该控件的底部置于给定ID的控件之下;
android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;
android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐;
android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐;
android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐;
android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐;
android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐;
android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐;
// 相对于父组件
android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐;
android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;
android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐;
android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐;
// 居中
android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;
android:layout_centerVertical 如果为true,将该控件的置于垂直居中;
android:layout_centerInParent 如果为true,将该控件的置于父控件的中央;
// 指定移动像素
android:layout_marginTop 上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;
- 基础-7 界面布局
- android基础——界面布局(二) 线性布局
- 界面布局
- 界面布局
- 界面布局
- java基础之AWT图形界面之界面布局管理器
- android基础——界面布局(一)
- 【免费直播课】第三期:AppCan基础之界面布局
- Android基础:代码中实现界面动态布局
- Android基础——界面布局简介、点击事件处理
- [Web前端技术教学]网页布局-基础布局练习-带框的界面铺满整个浏览器
- 基础布局
- 界面开发布局问题
- Flex3界面布局教程
- 调试拨号界面布局
- 界面布局动态调整
- flex3 界面布局
- flex3 界面布局1
- Python文件基础操作(入门1)
- 发几个好玩的github上的项目
- Android 根据item大小实现自动排列的GridLayout
- 第一周:( LeetCode ) Best Time to Buy and Sell Stock I II III(c++)
- 开发语言之shell初接触二
- 基础-7 界面布局
- 基于Hexo+Node.js+github+coding搭建个人博客——进阶篇(从入门到入土)
- (第一人称)摄像机漫游脚本
- POJ Ubiquitous Religions
- Qt中获取CPU的序列号
- 记录一次因为Android版本不同导致的crash异常:Can't create handler inside thread that has not called Looper.prepare()
- osdv3工具的使用和程序的实现
- excel-java(3)
- 支持.swf格式的视频标签