Android UI常用的布局容器

一、概述

布局本身是不能显示出任何数据, 它可以包含一些子视图, 并控制子视图的布局 。

常用的Layout

– LinearLayout 

– RelativeLayout 

– FrameLayout 

– ListView(后面讲)

– GridView(后面讲)

– 其它

二、LinearLayout 

线性布局: 用来控制其子View以水平或垂直方式展开显示 

重要属性: 

orientation(方向)

layout_weight(权重) 

 

三、理解LinearLayout权重

1、layout_weight(权重)的值 

=0(默认值): 指定多大空间就占据多大的空间 。

>0:  将父视图中的可用空间进行分割, 值越大权重就越大, 占据的比例就会越大 。

2、Layout_weight的使用场景 

将布局的宽度或高度平均分成几个等份 。

垂直方向上占用中间所有空间 或 水平方向上占用中间所有空间。

 

四、RelativeLayout 

相对布局: 用来控制其子View以相对定位的方式进行布局显示 。

相对布局是最灵活, 最强大,也是学习难度最大的布局 。

相对布局相关属性比较多:

兄弟视图之间: 同方向对齐, 反方向对齐 。

与父视图之间: 同方向对齐, 居中。

 

五、、FrameLayout 

帧布局中的每一个子View都代表一个画面,默认以屏幕左上角作为( 0,0 )坐标,按定义的先后顺序依次逐屏显示 , 后面出现的会覆盖前面的画面, 。

通过子View的android:layout_gravity 属性来指定子视图的位置。

类似前端的CSS的div层。

 

六、GridLayout(网格布局)

所有子控件默认在GridLayout中横向依次排列,当只等每行的列数时,到达指定列数

常用属性:
排列对齐:
①设置组件的排列方式:   android:orientation=""     vertical(竖直,默认)或者horizontal(水平)
②设置组件的对齐方式:   android:layout_gravity=""   center,left,right,buttom

设置布局为几行几列:
①设置有多少行: android:rowCount="4"        //设置网格布局有4行
②设置有多少列: android:columnCount="4"    //设置网格布局有4列

设置某个组件位于几行几列
注:都是从0开始算的哦!
①组件在第几行: android:layout_row = "1"   //设置组件位于第二行 
②组件在第几列: android:layout_column = "2"   //设置该组件位于第三列

设置某个组件横跨几行几列:
①横跨几行: android:layout_rowSpan = "2"     //纵向横跨2行
②横跨几列: android:layout_columnSpan = "3"     //横向横跨2列

 

七、TableLayout(表格布局)

表格布局和网格布局类似,但是需要注意的是,表格布局不能跨行,只能跨列

TableLayout常用属性:
android:shrinkColumns:设置可收缩的列,内容过多就收缩显示到第二行
android:stretchColumns:设置可伸展的列,将空白区域填充满整个列
android:collapseColumns:设置要隐藏的列
列的索引从0开始,shrinkColumns和stretchColumns可以同时设置。
子控件常用属性:
android:layout_column:第几列
android:layout_span:占据列数

 

八、常用基本属性

1、通用布局属性

注意的是属性还可以这样使用android:gravity="bottom|center"表示底部中心

 

1、内边距与外边距

属性就是图上的词,例如:android:layout:paddingLdft;

2、相对兄弟视图定位

同方向对齐属性

layout_alignRight 与指定控件右对齐

layout_alignLeft 与指定控件左对齐

layout_alignTop 与指定控件上对齐

反方向对齐属性

layout_toRightOf 在指定控件的右边

layout_toLeftOf 在指定控件的左边

layout_above 在指定控件的上边

layout_below 在指定控件的下边子控件对齐关系

3、相对父视图定位

相对父视图居中属性

layout_centerInParent 与父容器中间对齐 pairunte

layout_centerVertical 与父容器竖向中心对齐

layout_centerHorizontal 与父容器横向中心对齐

与父视图同方向对齐属性

layout_alignParentLeft 与父容器左边对齐

layout_alignParentTop 与父容器上边对齐

layout_alignParentRight 与父容器右边对齐

layout_alignParentBottom 与父容器下边对齐

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值