android布局

一、线性布局LineraLayout

X线性布局有点像Swing编程里的Box,他们都会将容器里的组件一个挨一个地排列起来。LinearLayout可以控制各组件横向排列,也可以控制各组件纵向排列,android线性布局不会换行,当组件一个挨着一个的地排列到头之后,剩下的组件将不会被显示出来

LinearLauout常用属性

android:baselineAligned="true"-----该属性设置为false时,将会阻止该布局与它的子元素的基线对其

android:divider-----设置垂直布局时两个按钮之间的间隔条

android:gravity-----设置布局管理器内组件的对齐方式(该属性支持top、buttom、left、center_vartical等也可以同时指定多种对齐方式的组合如:left|center_vartical)

android:measuerWithLargestChild-----当该属性设为true时,所有带权重的子元素都会具有最大子元素的最小尺寸

android:orientation-----设置布局管理器内组件的排列方式,可以设置为horizontal(水平排列)、vertaical(垂直排列,默认值)

二、表格布局TableLayout

TableLayout继承了LeneraLayout,因此它的本质依然是线性布局管理器。表格布局采用行、列的形式来管理UI组件,TableLayout并不需要明确地声明包含多少行多少列,而是通过添加TableRow、其他控件来控制表格的行数和列数

每次向TableLayout中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此它也可以不断地添加其他组件,每添加一个子组件该表格就增加一列

如果直接向TableLayout中添加组件,那么这个组件将直接占用一行。

在表格布局中,列的宽度由该列中最宽的那个单元格决定,整个表格的宽度取决于父容器的宽度(默认总是占满父容器本身)

在表格布局中,可以为单元格设置如下三种行为方式

>Shrinkable:如果某个列被设为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度

android:shrinkColumns="1,2" -----设置需要被收缩的列的列序号,多个列号之间用逗号隔开

>Stretchable:如果某个列被设为Stretchable,那么该列的多有单元格的卡un度可以被拉伸,以保证组件能完全填满表格空余空间

android:stretchColumns="1,2" -----设置需要被隐藏的列的列序号,多个列号之间用逗号隔开

>Colapsed:如果某个列被设为Collapsed,那么该列的所有单元格会被隐藏

android:collapseColumns="1,2" -----设置需要被隐藏的列的列序号,多个列号之间用逗号隔开

三、帧布局FrameLayout

帧布局容器为每个加入其中的组件创建一个空白的区域(成为一帧),每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐

FrameLayout的常用属性

android:foreground -----设置该帧布局容器的前景图片

android:foregroundGravity -----定义绘制前景图像的gravity属性

FarmeLayout所包含的子元素也可指定android:layout_gravity属性

四、相对布局RelativeLayout

相对布局容器没子组件的位置总是相对兄弟组件、父容器来决定的

RelativeLayout属性

android:gravity -----设置该布局容器内各子组件的对齐方式

android:ignoreGravity -----设置哪个组件不受gravity属性的影响


android:layout_centerHorizontal -----控制该子组件是否位于布局容器的水平居中

android:layout_centerVertical -----控制该子组件是否位于布局容器的垂直居中

android:layout_centerInParent -----控制该子组件是否位于布局容器的中央位置

android:layout_alignParentBotton -----控制该子组件是否位于布局容器底端对齐

android:layout_alignParentLeft -----控制该子组件是否位于布局容器左边对齐

android:layout_alignParentRight -----控制该子组件是否位于布局容器右边对齐

android:layout_alignParentTop -----控制该子组件是否位于布局容器顶端对齐


android:layout_toRightOf ------控制该子组件位于给出ID组件的右侧

(toLeftOf左侧、above上方、below下方、alignTop上边界对齐、alignBottom下边界对齐、alignLeft左边界对齐、alignRight右边界对齐)

五、绝对布局AbsoluteLayout

绝对布局通过x坐标、y坐标来控制组件的位置。当使用AbsoluteLayout作为布局容器时,布局容器不再管理子组件的位置、大小。

android:layout_x -----指定该子组件的x坐标

android:layout_y -----指定该子组件的y坐标

android:layout_centerHorizontal -----控制该子组件是否位于布局容器的水平居中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值