您的位置:首页 > 移动开发 > Android开发

Android-布局管理 (五大布局控件使用)

2014-12-01 14:23 204 查看
Layout(布局),上面提到Android提供了5种类型的布局类型,有哪5种呢?



  第一个:LinearLayout(线性布局)

  第二个:RelativeLayout(相对布局)

  第三个:TableLayout
4000
(表格布局)


  第四个:AbsoluteLayout(绝对布局)

  第五个:FrameLayout(单帧布局)

LinearLayout(线性布局)

线性布局,是5种布局最常用的一种,从字面上也比较好理解,就是布局呈线性的,这种布局在显示组件的时候会默认保持组件之间的间隔以及组件之间的互相对齐。线性布局显示组件的方式有两种方式:垂直和水平,是通过orientation来设定的。


下面总结线性布局里头一些常用的属性:

  android:id - 为控件指定相应的ID

  android:text - 指定控件当中显示的文字,需要注意的是,这里尽量使用string.xml

  android:gravity - 指定控件的基本位置,比如说居中,居右等位置

  android:textSize - 指定控件当中字体的大小

  android:background - 指定控件所用的背景色,RGB命名法

  android:layout_width - 指定控件的宽度

  android:layout_height - 指定控件的高度


  android:layout_weight - 指定控件的占用比例

  android:padding - 指定控件的内边距,也就是说控件当中的内容

  android:sigleLine - 如果设置为真的话,则将控件的内容显示在一行当中


再解释其中一些属性的作用:

=>>layout_weight,默认为零,其属性表示当前当前还有多大视图就占据多大视图;如果其值高于零,则表示将父视图中的可用的空间进行分割,分割的大小视当前屏幕整体布局的Layout_weight值与每个组件Layout_weight值占用比例来定。

=>>grivity:每个组件默认其值为左上角对齐,其属性可以调整组件对齐方式比如向左、向右或者居中对齐等。

=>>padding:边距的填充,也称内边距。其边距属性有:

   android:paddingTop,设置上边距

   android:paddingBottom,设置下边距

   android:paddingLeft,设置左边距

   android:paddingRight,设置右边距

   android:padding则表示周围四方向各内边距统一调整。

边距属性值为具体数字

=>>layout_margin,外边距,其上下左右属性为:

  android:layout_marginTop,设置上边距

  android:[b]layout_marginBottom,设置下边距[/b]

  android:[b]layout_marginLeft,设置左边距[/b]

  android:[b]layout_marginRight,设置右边距[/b]

  android:layout_margin则表示设置四方向边距统一调整



这里说明一下padding与layout_margin的区别:

padding内边距指的是当前布局与包含的组件之间的边距

layout_margin外边距指的是与其他组件之间的边距。

RelativeLayout(相对布局)是除线性布局之外最常用的,它相对于线性布局来说比较灵活,在进行组件布局的时候用线性布局往往需要进行布局嵌套,而相对布局就不会那么麻烦,每个组件都可以指定与其它组件或父组件的位置,只是必须通过ID来进行指定。

[b]表1-1组件之间的位置关系[/b]
属性名称作用
android:layout_above将组件放在指定ID组件的上方
android:layout_below将组件放在指定ID组件的下方
android:layout_toLeftOf将组件放在指定ID组件的左方
android:layout_toRightOf将组件放在指定ID组件的右方
表1-2 组件对齐方式
属性名称作用
android:layout_alignBaseline将该组件放在指定ID组件进行中心线对齐
android:layout_alignTop将该组件放在指定ID组件进行顶部对齐
android:layout_alignBottom将该组件放在指定ID组件进行底部对齐
android:layout_alignLeft

将该组件放在指定ID组件进行左边缘对齐
android:layout_alignRight将该组件放在指定ID组件进行右边缘对齐
 

















 
表1-3 当前组件与父组件的对齐方式
属性名称作用
android:layout_alignParentTop该组件与父组件进行顶部对齐
android:layout_alignParentBottom该组件与父组件进行底部对齐
android:layout_alignParentLeft该组件与父组件进行左边缘对齐
android:layout_alignParentRight该组件与父组件进行右边缘对齐
 















 
表1-4 组件放置的位置
属性名称作用
android:layout_centerHorizontal将该组件放置在水平方向中央的位置
android:layout_centerVertical将该组件放置在垂直方向的中央的位置
anroid:layout_centerInParent将该组件放置在父组件的水平中央及垂直中央的位
TableLayout(表格布局),顾名思义就是像表格一样布局,通常情况下,TableLayout有多个TableRow组成,每个TableRow就是一行,定义几个TableRow就是定义几行;

TableLayout中也有几个常用属性:

(1)shrinkColumns属性:以0为序,当TableRow里面的控件布满布局时,,指定列自动延伸以填充可用部分;当TableRow里面的控件还没有布满布局时,shrinkColumns不起作用。
(2)strechColumns属性,以第0行为序,指定列对空白部分进行填充。

(3)collapseColumns属性:以0行为序,隐藏指定的列

(4)layout_column属性:以0行为序,设置组件显示指定列

(5)layout_span属性:以第0行为序,设置组件显示占用的列数。

AbsoluteLayout(绝对布局)布局用法如其名,组件的位置可以准确的指定其在屏幕的x/y坐标位置。虽然可以精确的去规定坐标,但是由于代码的书写过于刚硬,使得在不同的设备,不同分辨率的手机移动设备上不能很好的显示应有的效果,所以此布局不怎么被推荐使用。

FrameLayout(单帧布局),据说是五种布局中最简单的一种,因为单帧布局在新定义组件的时候都会将组件放置屏幕的左上角,即使在此布局中定义多个组件,后一个组件总会将前一个组件所覆盖,除非最后一个组件是透明的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: