五种布局方式,五种布局
五种布局方式,五种布局
线性布局
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列。
LinearLayout本身常用到的两个属性
android:orientation=”vertical”----该属性决定他子类控件的排布方式(vertical:垂直;horizontal:水平)
android:gravity=”center”----该属性决定他子类的xy的位置。
常用到的几个属性值:
center_vertical:垂直(Y轴)居中
center_horizontal:水平(X轴)居中
center:水平垂直都居中
right:子类控件位于当前布局的右边
left:子类控件位于当前布局左边
bottom:子类控件位于当前布局下面
gravity属性可以多级连用,例如:android:gravity="bottom|center"
子类控件在LinearLayout中常用到的属性
android:layout_gravity=”bottom” ----指本身在当前父类容器的XY的一个位置
android:layout_weight=”1” ----指本身控件占当前父容器的一个比例
相对布局
RelativeLayout是相对布局控件,它包含的子控件将以控件之间的相对位置或子类控件相对父类容器的位置的方式排列。
帧布局FrameLayout
在这个布局中,所有子元素都不能被指定放置的位置,他们统统放在这个区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
绝对布局
AbsoluteLayout又可以叫做坐标布局,可以直接指定子元素的绝对位置(xy)
由于手机屏幕尺寸差别较大
使用绝对定位的适应性较差,在屏幕的适配上有较大缺陷
AbsoluteLayout子控件的属性
android:layout_x = “35dp”----控制当前子类控件的x位置
android:layout_y = “40dp”----控制当前子类控件的y位置
表格布局
TableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View对象。
TableLayout的属性(全局属性)
android:collapseColumns=”1,2”
隐藏从0开始的索引列。列之间必须用逗号隔开:1,2,5
android:shrinkColumns=”1,2”
收缩从0开始的索引列。当可收缩的列太宽(内容过多)不会被挤出屏幕,列之间必须用逗号隔开,也可以通过“*”代替收缩所有列。注意一列能同时表示收缩和拉伸。
android:stretchColumns=”1,2”
拉伸从0开始的索引列,以填满剩下的多余空白空间,列之间必须用逗号隔开,也可以使用“*”代替拉伸所有列,注意一列能同时表示收缩和拉伸。
TableLayout的局部属性(内部控件所用属性)
android:layout_column=”1”----该控件显示在第二列
android:layout_span=”2”----该控件占据2列。
Linearlayout 线性布局
Relativelayout 相对布局
FrameLayout 框架布局
TableLayout 表格布局
AbsoluteLayout 绝对布局(不建议使用,最常用的还是以上四种)
五种布局方式,分别是:FrameLayout(框架布
局),LinearLayout
(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)
一、FrameLayout
这个布局可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个,那就在放在原来放的位置的上面,这样依次的放,会盖住原来的东西。这个布局比较简单,也只能放一点比较简单的东西。
二、LinearLayout
线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局
(android:orientation="vertical")和水平布局(android:orientation="horizontal"
)。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。
linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。
三、AbsoluteLayout
绝对布局犹如div指定了absolute属性,用X,Y坐标来指定元素的位置android:layout_x="20px"
android:layout_y="12px" 这种布局方式也比较简单,但是在垂直随便切换时,往往会出问题,而且多个元素的时候,计算比较麻烦。
四、RelativeLayout
相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:
相对于某一个元素
android:layout_below="@id/aaa" 该元素在 id为aaa的下面
android:layout_toLeftOf="@id/bbb" 改元素的左边是bbb
相对于父元素的地方
android:layout_alignParentLeft="true" 在父元素左对齐
android:layout_alignParentRight="true" 在父元素右对齐
还可以指定边距等,具体详见API
五。TableLayout
表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定他的对齐方式 android:gravity="" 。
每一个布局都有自己适合的方式,另外,这五个布局元素可以相互嵌套应用,做出美观的界面。-----------------cvsyun...余下全文>>
用户评论