Jetpack:029-Jetpack中的网格布局

本文介绍了JetpackCompose中的网格布局,包括LazyVerticalGrid和LazyHorizontalGrid的使用方法,以及如何通过columns参数控制行数和列间距。通过示例代码展示了网格布局的灵活应用,包括固定列数和自适应布局。


我们在上一章回中介绍了Jetpack中Card相关的内容,本章回中主要介 网格布局。闲话休提,让我们一起Talk Android Jetpack吧!

1. 概念介绍

我们在本章回中介绍的网格布局是一种类似表格的布局组件,它提供像表格一样的窗口,开发人员只需要在窗口中放入组件就可以,如果大家有使用Android View开发程序的验验,那么肯定使用过这样的布局。该布局常用的场景是浏览图片,多张图片按照行和列的方式一起呈现在我们面前。

在Jetpack Compse中使用可组合函数LazyVerticalGridLazyHorizontalGrid实现垂直和水平方向的网格布局,本章回中将详细介绍它们的使用方法。

2. 使用方法

可组合函数LazyVerticalGrid提供了相关的参数来控制自己,下面是该函数中常用的参数:

  • columns参数:该参数主要用来网络中的行数和列数;
  • verticalArrangement参数: 主要用来控制垂直方向内容之间的间隔;
  • horizontalArrangement参数: 主要用来控制水平方向内容之间的间隔;
  • content参数:该参数主要用来存放网格布局中的其它组件;

上面的这些参数中,我们重点介绍content参数和columns参数。

content参数的类型是可组合函数,它通过item或者items函数来添加其它组件,我们在介绍LazyColumn可组合函数介绍过,因此大家可以参考我们在LazyColumn内容中的介绍。

接着看一下columns参数,它是GridCells类型,它提供两种布局形式,详细如下:

  • Adaptive:它只保证网格中各个成员的列间隔,自动排列每行的成员数量;
  • Fixed:它只保证网格中的列的数量,成员之间的列间隔大小自动计算;

大家现在可能觉得有些抽象,我们将在后面小节中通过代码来演示,下面是程序运行的效果图,这样可能更加直观地说明问题。

在这里插入图片描述

该图的上半部分是使用Adaptive实现的效果,图中每一行之间的间隔是固定的,但是网格布局中的列数是自动计算出来的。图中下半部分是使用Fixed实现的效果,图中列的数量是固定的,但是每一列之间的间隔是自动计算出来的。

我们在这里只介绍了LazyVerticalGrid函数的用法,LazyHorizontalGrid函数的用法和它完全相同,不同之处在它提供的是水平方向的网格布局,它提供的参数主要控制网格中的行,因此,我们就不再详细介绍了,大家可以自行去实践。

3. 代码与效果

介绍完可组合函数的用法后,我们通过具体的示例代码来演示网格布局的使用方法。

3.1 示例代码

@Composable
fun Grids() {
   
   
    LazyVerticalGrid(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值