Android入门知识:各种布局管理器的常见参数

先说一下一些可能通用的参数

android:layout_width & android:layout_height:布局的宽和高,一般不用改,参数选 match_parent 就行

android:background:布局的背景

android:paddingBottom&android:paddingRight&android:paddingLeft&android:paddingTop:布局的上下左右边距

android:gravity:设置布局的重心,也就是组件会往哪里靠,比如如果参数是 center 的话,所有的组件都会在屏幕中间排列,其它同理。可以同时使用多个参数,用 | 分割,如 right|bottom便是设置为右下角

android:ignoreGrivaty:设置哪些组件不需要遵循上面设置的 gravity ,参数是布局中组件的 id

相对布局管理器 RelativeLayout

顾名思义,里面所有的元素的位置都是相对的。
教程里提到的参数有十五个,但要注意都是布局中子组件的参数而不是布局本身的参数。

android:layout_above&android:layout_below&android:layout_toLeftOf&android:layout_toRightOf:参数为其它组件的 id ,设置该组件位于对应 id 的组件外部的上下左右

android:layout_alignParentBottom&android:layout_alignParentTop&android:layout_alignParentRight&android:layout_alignParentLeft:参数为 ture ,设置组件位于布局的上下左右位置

android:layout_alignBottom&android:layout_alignTop&android:layout_alignRight&android:layout_alignLeft:参数为其它组件的 id ,设置该组件位于对应 id 的组件内部的上下左右位置

android:layout_centerHorizontal&android:layout_centerParent&android:layout_centerVertical:参数应该也为 true ,设置该组件水平居中、布局正中间、竖直居中

线性布局管理器 LinearLayout

所有组件都是线性排布。

扫描二维码关注公众号,回复: 8900013 查看本文章

android:orientation:参数为 horizontal 则该布局管理器为水平布局管理器,参数为 vertical 则为垂直线性布局管理器

子组件参数:
android:layout_weight:设置子组件的权重(分配剩余空间用),用了这个参数的话大概就会充分占据剩余空间,填满一整行或者一整列

帧布局管理器 FrameLayout

顾名思义,所有组件是一帧帧层叠排布的,有点像 PS 里图层的概念。通常用于显示层叠的内容,还可以实现拖动效果。

android:foreground:为帧布局管理器设置前景图像(前景图像指始终位于最上层的图像)

android:foregroundGravity:设置前景图像的位置

表格布局管理器 TableLayout

以行和列的方式管理子组件的布局管理器。通过<TableRow> 标签设置一行,标签对中每添加一个组件则为行中的一列。如果不用<TableRow>标签则一个组件占一行。

android:collapseColumns:设置哪些列被隐藏,参数为列的序号,从零开始计,多个序号间用逗号分隔

android:stretchColumns:设置哪些列可以被拉伸,参数同上。设置了这个参数的话一行将会被填满,效果和上面线性布局管理器的android:layout_weight挺像的,但是要注意,这个是布局管理器的参数,不是子组件的参数,并且是同时控制所有行的

android:shrinkColumns:设置哪些列可以被压缩,参数同上。当一行显示不下所有组件时,该参数设置的列将会被压缩

网格布局管理器 GridLayout

与表格布局管理器的区别在于,表格只能跨列,网格则是行和列都可以跨。同时表格一行显示不下会跑到屏幕外面去,网格则会(在达到设置的最大列数后)自动换行。

android:columnCount:设置最大列数

android:rowCount:设置最大行数

android:oritentation:设置水平还是竖直,和线性布局管理器一样

子组件参数:

android:layout_grivaty:设置子组件位于网格空间的何处

android:layout_cloumn&android:layout_row:设置子组件位于第几列/第几行,参数为行或列的序号(整数)

android:layout_cloumnSpan&android:layout_rowSpan:设置子组件跨几列/几行,参数为一个整数,搭配android:layout_grivaty="fill"可以使子组件填充满这几行/几列空间

android:layout_columWeight&android:layout_rowWeight:设置子组件列与行的权重

最后

如果你看到了这里,觉得文章写得不错就给个赞呗!欢迎大家评论讨论!如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足,定期免费分享技术干货。喜欢的小伙伴可以关注一下哦。谢谢!

发布了289 篇原创文章 · 获赞 30 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45365889/article/details/102609766
今日推荐