Android 中的六大布局

Android中有六大布局

分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局) 而今天我们要讲解的就是第一个布局,LinearLayout(线性布局)

1. LinearLayout(线性布局)

       常用属性:

       orientation:布局中组件的排列方式,有horizontal(水平),vertical(竖直,默认),两种方式

       gravity:控制组件所包含的子元素的对齐方式,可多个组合,如(left|buttom)

       layout.gravity:控制该组件在父容器里的对其方式,布局的宽度,通常不直接写数字的,用wrap_content(组件实际大小),fill_parent或者                    match_parent填满父容器

       id:为该组件设置一个资源id,在java文件中可以通过findViewById找到该组件

        background:为该组件设置一个背景图片,或者直接用颜色覆盖

         Weight:该属性是用来等比例划分区域,最简单的用法:要等比例划分,分谁,谁分为0,weight按比例即可。

         divider分割线:该属性用于为LinearLayout设置分割线图片,通过show Dividers来设置分割线的所在位置,有四个可选值none,middle,begining,end

2.RelativeLayout(相对布局)

在Eclipse中开发Android程序时,默认采用的就是相对布局,相对布局通常有两种形式,一种是相对于容器而言的,一种是相对于控件而言的。

为了能准确定位布局中的控件,相对布局提供了很多属性。

基本属性:gravity设置容器内组件的对齐方式

                 ignoreGravity设置了该属性为true的属性的组件,将不受gravity属性的影响

根据父容器定位:layout_alignParentLeft   左对齐

                           layout_alignParentRight   右对齐

                           layout_alignParentTop     顶部对齐

                           layout_alignParentBottom   底部对齐

                            android:layout_centerHorizontal    水平居中

                           android:layout_centerVertical        垂直居中

                           android:layout_centerInParent       中间位置

根据兄弟组件定位:

                          layout_toLeftOf     参考组件的左边

                          layout_toRightOf    参考组件的右边

                          layout_above             参考组件的上方

                          layout_below         参考组件的下方

                          layout_alignTop     对齐参考组件的上边界

                          layout_alignBottom  对齐参考组件的下边界

                         layout_alignLeft       对齐参考组件的左边界

                          layout_alignRight   对齐参考组件的右边界

margin(偏移)  设置组件与父容器的边距,又叫偏移

                        layout_margin             设置组件上下左右的偏移量

                        layout_marginLeft             设置组件离左边的偏移量

                       layout_marginRight          设置组件离右边的偏移量

                      layout_marginTop              设置组件离上面的偏移量

                     layout_marginButtom        设置组件离下面的偏移量

padding(填充) 设置组件内部元素间的边距

                        android:padding   往内部元素的上下左右填充一定边距

                        paddingLeft          往内部元素的左边填充一定的边距

                       paddingRight         往内部元素的右边填充一定边距

                       paddingTop          往内部元素的上方填充一定边距

                       paddingBOttom   往内部元素的下方填充一定边距

3.TableLayout(表格布局)

确定行数与列数

  • ①如果我们直接往TableLayout中添加组件的话,那么这个组件将占满一行!!!
  • ②如果我们想一行上有多个组件的话,就要添加一个TableRow的容器,把组件都丢到里面!
  • ③tablerow中的组件个数就决定了该行有多少列,而列的宽度由该列中最宽的单元格决定
  • ④tablerow的layout_width属性,默认是fill_parent的,我们自己设置成其他的值也不会生效!!! 但是layout_height默认是wrapten——content的,我们却可以自己设置大小!
  • ⑤整个表格布局的宽度取决于父容器的宽度(占满父容器本身)
  • ⑥有多少行就要自己数啦,一个tablerow一行,一个单独的组件也一行!多少列则是看tableRow中 的组件个数,组件最多的就是TableLayout的列数
三个常用的属性

       android:collapseColumns:设置需要被隐藏的列的序号
      android:shrinkColumns:设置允许被收缩的列的列序号
      android:stretchColumns:设置运行被拉伸的列的列序号

4.FrameLayout(帧布局)

FrameLayout(帧布局)可以说是六大布局中最为简单的一个布局,这个布局直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式却没有任何的定位方式,所以它应用的场景并不多;帧布局的大小由控件中最大的子控件决定,如果控件的大小一样大的话,那么同一时刻就只能看到最上面的那个组件!后续添加的控件会覆盖前一个!虽然默认会将控件放置在左上角,但是我们也可以通过layout_gravity属性,指定到其他的位置!

两个属性:

  • android:foreground:*设置改帧布局容器的前景图像
  • android:foregroundGravity:设置前景图像显示的位置

5.GridLayout(网格布局)

  • 可以自己设置布局中组件的排列方式
  • 可以自定义网格布局有多少行,多少列
  • 可以直接设置组件位于某行某列
  • 可以设置组件横跨几行或者几列
  • 相关属性总结:
  • 设置排列方式  android:orientation    vertical(竖直,默认)或者horizontal(水平)
  • android:layout_gravity     cneter,left,right,buttom 
  •  设置几行几列 设置行数  android:rowCount   
  •                     设置列数    android:columnCount   
  • 设置组件所在的行列    第几行   android:layout_row    (从0开始)
  •                                   第几列   android:layout_column
  • 设置组件跨几行几列    横跨几行  android:layout_rowSpan   纵向横跨
  •                                    横跨几列   android:layout_columnSpan  横跨几列
  • 6.AbsoluteLayout(绝对布局)
         这个AbsoluteLayout是直接通过X,Y坐标来 控制组件在Activity中的位置的!
           1.四大控制属性(单位都是dp):
             
①控制大小: android:layout_width:组件宽度 android:layout_height:组件高度 
             ②控制位置: android:layout_x:设置组件的X坐标 android:layout_y:设置组件的Y坐标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值