您的当前位置:首页正文

Jetpack:015-Jetpack的是脚手架

2024-11-25 来源:个人技术集锦


我们在上一章回中介绍了Jetpack中小红点相关的内容,本章回中将介绍 脚手架。闲话休提,让我们一起Talk Android Jetpack吧!

1. 概念介绍

我们在本章回中介绍的脚手架是指程序的框架,准确的说是指程序中某个页面的框架,它提供了页面的标题栏,页面主体和页面底部导航栏,这些都是一个页面的主要内容,在Jetpack库中,通过可组合函数Scaffold来实现脚手架。本章回中将详细介绍该函数的使用方法。

2. 使用方法

2.1 核心思想

可组合函数Scaffold可以看作是一种布局,它在布局中提供了槽位,这些槽位用来存放页面中主要的内容,比如标题栏。槽位在布局中的位置则由脚手架控制,开发人员不需要关于槽位的具体位置和布局,只需要把与槽位相关的内容添加到槽位就可以。

2.2 具体内容

可组合函数Scaffold提供了相关的参数,这些参数可以当作槽位,开发人员给这些参数赋值相当于在槽位中添加内容,下面我们将介绍该函数中常用的参数:

  • topBar参数: 主要用来存放标题栏相关的内容;
  • bottomBar参数:主要用来存放底部导航栏相关的内容;
  • snackbarHost参数:主要用来存放底部通知相关的内容;
  • floatingActionButton参数:主要用来存放浮动按钮;
  • floatingActionButtonPosition参数:主要用来控制浮动按钮的位置;
  • content参数:主要用来存放页面主体相关的内容,通常嵌套其它的布局函数;

上面介绍的这些函数中除了floatingActionButtonPosition参数外,其它的参数都是可组合函数类型(@Composable () -> Unit = {}),脚手架就是通过这些可组合函数实现槽位的。

此外,content参数比较特殊,它是Scaffold函数的最后一个参数,按照尾lambda的语法,可以把该参数的内容移动到函数体内,因此我们可以在Scaffold函数体内添加页面主体的内容。

3. 示例代码

Scaffold(
    topBar = { customCenterAppBar()},

    bottomBar = { customBottomBar() },

    //控制FAB的位置,只有两种
    floatingActionButtonPosition = FabPosition.End,
) {innerPadding->
    Column(modifier = Modifier
        .padding(innerPadding)
        .fillMaxSize()
        .background(color = CusColor)
    ) {
        Text(text = "hello")
    }
}

上面的示例代码中演示了Scaffold函数的参数以主这些函数对应的组合函数,不过我们没有列出各个组合函数的细节,因为我们在前面章回中介绍过这些组合函数,大家可以查看前面章回中的内容。

上面的示例代码中,我们在Scaffold函数体内添加了页面的主体部分,不过该主体比较简单,只有一个文本,下面是程序的运行效果图

4. 内容总结

最后,我们对本章回的内容做一个总结:

  • 脚手架提供了页面的框架,方便开发人员快速搭建页面;
  • 脚手架的核心思想是槽位布局,它控制了槽位的位置与布局,开发人员不需要关心这些细节;
  • 脚手架通过Scaffold可组合函数实现,该函数通过参数来实现脚手架的槽位;

看官们,关于Jetpack中脚手架相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

显示全文