android的各种布局
来源:互联网 发布:程序员最讨厌几阿哥 编辑:程序博客网 时间:2024/05/17 04:03
源地址 http://blog.chinaunix.net/uid-25885064-id-3363444.html
1、线性布局
线性布局由LinearLayout类来代表,它将容器里面的组件一个挨着一个地排列起来。LinearLayout不仅可以控制各组件横向排列(通过设置android:orientation属性控制),也可以控制各组件纵向排列。
LInearLayout不会换行,当组件一个挨着一个排列到头之后,剩下的组件将不会被显示。
LInearLayout常用XML属性及相关方法:
Xml属性
相关方法
说明
android:gravity
setGravity(int)
设置布局管理器内组件的对齐方式。支持top、bottom、left、right、center_vertical、 fill_vertical、center_horizontal、fill_horizontal、center、fill、 clip_vertical、clip_horizontal几个属性值。可以同时指定多种对齐方式,如left|center_vertical表示出 现在屏幕左边,并且垂直居中。
android:orientation
setOrientation(int)
设置布局管理器内组件的排列方式,可设置为horizontal(水平排列)、vertical(垂直排列),但只能是其中之一。
说明:android:gravity属性中的多个属性值之间用竖线隔开,但竖线前后千万不能出现空格
2、表格布局
表格布局有TableLayout代表,表格布局采用行、列的形式来管理UI组件。
每次向TableLayout中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此它也可以添加其他组件,没增加一个子组件该表格就增加一列。
如果直接向TableLayout中添加组件,那么这个组件将直接占用一行。
表格布局中,列的宽度由该列中最宽的那个单元格决定,整个表格布局的宽度取决于父容器的宽度(默认总是占满父容器本身)。
TableLayout的常用XML属性及相关方法
XMl属性
相关方法
说明
android:collapseColumnssetCollapseColumns(int,boolean)设置需要被隐藏的列序号,多个序号之间用逗号隔开android:shrinkColumnssetShrinkAllColumns(boolean)设置允许被收缩的列序号,多个序号之间用逗号隔开android:stretchColumnssetStretchAllColumns(boolean)设置允许被拉伸的列序号,多个序号之间用逗号隔开3、帧布局
帧布局由Framelayout所代表,FrameLayout直接继承了ViewGroup组件。
帧布局容器为每个加入其中的组件创建一个空白区域(称为一帧),多有每个子组件占据一帧,这些帧都会跟据gravity属性执行自动对齐。
FrameLayout的常用XML属性及相关方法:
XML属性
相关方法
说明
android:foregroundsetForeground(Drawable)设置帧布局容器的前景图像android:foregroundGravitysetForegroundGravity(int)定义绘制前景图像的gravity属性
4、相对布局
相对布局由RelativeLayout代表,相对布局内子组件的位置总是相对兄弟组件、父容器来决定。如果A组件的位置由B组件位置来决定,Android要先定义B组件,再定义A组件。
RelativeLayout的XML属性及相关方法:
XML属性
相关方法
说明
android:gravitsetGravity(int)设置该布局容器内各子组件的对齐方式android:ignoreGravitysetIgnoreGravity(int)设置哪个组件不受Gravity组件的影响为控制布局容器中子组件的布局分布,RelativeLayout提供了一个内部类RelativeLayout.LayoutParams,该类提供了大量的XML属性来控制RelativeLayout布局容器中子组件的布局分布。
RelativeLayout.LayoutParams里只能设为boolean值的属性如下:
属性
说明
android:layout_centerHorizontal控制子组件是否位于布局容器的水平居中位置android:layout_centerVertical控制子组件是否位于布局容器的垂直居中位置android:layout_centerInParent控制子组件是否位于布局容器的中央位置android:layout_alignParentBottom控制子组件是否与布局容器底端对齐android:layout_alignParentLeft控制子组件是否与布局容器左边对齐android:layout_alignParentRight
控制子组件是否与布局容器右边对齐android:layout_alignParentTop控制子组件是否与布局容器顶端对齐属性说明android:layout_toRightOf控制该子组件位于给出ID组件的右侧android:layout_toLeftOf控制该子组件位于给出ID组件的左侧android:layout_above控制该子组件位于给出ID组件的上方android:layout_below控制该子组件位于给出ID组件的下方android:layout_alignTop控制该子组件跟给出ID组件的上边界对齐android:layout_alignBottom控制该子组件跟给出ID组件的下边界对齐android:layout_alignLeft控制该子组件跟给出ID组件的左边界对齐android:layout_alignRight控制该子组件跟给出ID组件的右边界对齐RelativeLayout.LayoutParams里属性值为其它UI组件ID的XML属性如下:
5、绝对布局
绝对布局由AbsoluteLayout代表。此布局不提供任何布局控制,而是由开发人员自己通过X、Y坐标来控制组件的位置,当使用AbsoluteLayout作为布局容器时,布局容器不在管理子组件的位置、大小--由开发人员自己控制。
使用绝对布局,每个子组件都可以指定如下两个XML属性:
layout_X:指定子组件的X坐标
layout_Y:指定子组件的Y坐标
注意:大部分时候,使用绝对布局都不是一个好思路,因为手机千差万别,屏幕、分辨率可能存在较大差异,使用绝对布局很难兼顾不同屏幕大小、分表率问题。
Android中一般支持如下一些距离单位:
px(像素):每个px对应屏幕上的一个点。
dip或dp(设备独立像素):一种基于屏幕密度的抽象单位,在每英寸160点的显示器上,1dip=1px,但随着屏幕密度的改变,dip和px的换算也发生改变。
sp(比例像素):主要处理字体的大小,可以根据用户的字体大小首选项进行缩放。
in(英寸):标准长度单位。
mm(毫米):标准长度单位。
pt(磅):标准长度单位,1/72英寸。
- android的各种布局
- android的各种布局
- Android的各种布局
- Android Layout的各种布局
- android布局的各种应用方式
- android各种布局属性的解析
- android 各种布局文件的属性
- Android布局的各种对齐问题
- Android 中各种Layout的布局属性
- android相对布局的各种属性
- Android布局的各种对齐问题
- Android布局的各种对齐问题
- android布局管理的各种对齐问题
- Android的各种布局及介绍
- Android Layout各种布局
- android各种布局介绍
- Android中的各种布局
- Android中的各种布局
- [openGL]分格化
- 读取配置文件
- Android中在通知栏内常驻应用程序消息
- makefile shell 函数
- linux下调试方法-GDB
- android的各种布局
- 基于开源jabber(XMPP)/Openfire架设企业内部即时通讯服务方案
- 微信公众平台 开放平台 自定义回复和事件推送代码
- 使用proguard混淆library库
- mysql TIMESTAMP(时间戳)详解
- android如何让service不被杀死
- 2013年夏,我们的产品出现了散热问题
- px、dip和density
- (1-1)实现wcf服务协定