linearlayout垂直布局属性
admin
2023-06-25 20:25:16

一、LinearLayout 线性布局

LinearLayout 是一个视图组,用于使所有子视图在单个方向(垂直或水平)保持对齐。您可以使用 android:orientation 属性指定布局方向。

  • android:orientation,指定布局方向,vertical-竖向布局,horizontal-横向布局
  • android:layout_weight,为各个子视图分配权重(数字)
  • android:layout_gravity,容器自身相对于的上级容器的排列方式
  • android:gravity,容器内部组件的排列方式(top,bottom,start,end,center)
   
linearlayout垂直布局属性图1

线性布局 - 均等分布

如果要让每个子视图使用大小相同的屏幕空间,请将每个视图的 android:layoutheight 设置为 "0dp"(针对垂直布局),或将每个视图的 android:layoutwidth 设置为 "0dp"(针对水平布局)。然后,将每个视图的 android:layout_weight 设置为 "1"。

   
linearlayout垂直布局属性图2

二、TableLayout 表格布局

1、TableLayout继承了LinearLayout

  • android:stretchColumns,设置需要被隐藏的列的序号,从0开始,多个用,隔开
  • android:collapseColumns,设置需要被隐藏的列的序号,从0开始,多个用,隔开
  • android:shrinkColumns,设置允许被收缩的列的列序号,从0开始,多个用,隔开

2、子控件设置属性

  • android:layout_span,横向跨几列
  • android:layout_column,显示在第几列,从0开始

3、子控件TableRow,控制每行显示数据

4、如何确定行数与列数

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

三、GridLayout 网格布局

GridLayout和TableLayout(表格布局)有点类似,不过比TableLayout更加灵活好用。

  • android:orientation,指定布局方向,vertical-竖向布局,horizontal-横向布局
  • android:columnCount,设置总共多少列,默认没限制
  • android:rowCount,设置总共多少行,默认没限制
  • android:useDefaultMargins,true-如果组件没设置margin属性,则使用默认间距

子控件属性

  • android:layout_columnSpan,设置组件横跨多列
  • android:layout_rowSpan,设置组件横跨多行
  • 如果设置了多行或多列,且你要让组件填满横越过的行或列的话,需要添加下面这个属性: android:layout_gravity = "fill"
  
linearlayout垂直布局属性图4

四、RelativeLayout 相对布局

RelativeLayout 相对布局,可以相对父容器,也可以相对兄弟组件。

  • android:gravity,容器内部组件的排列方式(top,bottom,start,end,center),可以同时设置竖向横向两个竖向,用|隔开,比如end|top(左上方)
  • android:ignoreGravity,指定id的组件不受gravity影响

子控件属性

1)根据父容器定位

  • android:layout_alignParentStart,左对齐
  • android:layout_alignParentEnd,右对齐
  • android:layout_alignParentTop,上对齐
  • android:layout_alignParentBottom,下对齐
  • android:layout_centerHorizontal,水平居中
  • android:layout_centerVertical,垂直居中
  • android:layout_centerInParent,正中间

2)根据兄弟组件定位

  • android:layout_toStartOf,参考组件的左边
  • android:layout_toEndOf,参考组件的右边
  • android:layout_above,参考组件的上面
  • android:layout_below,参加组件的下面
  • android:layout_alignTop,对齐参考组件的上边界
  • android:layout_alignBottom,对齐参考组件的下边界
  • android:layout_alignStart,对齐参考组件的左边界
  • android:layout_alignEnd,对齐参考组件的右边界
  
linearlayout垂直布局属性图5

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...