如何在 Jetpack Compose 中添加工具栏?

时间:2021-03-03 17:51:45

标签: android android-layout android-toolbar android-jetpack android-jetpack-compose

我需要在我的 Android 应用程序中添加一个工具栏,其中包含如下所示的列表。我正在使用 Jetpack Compose 创建 UI。下面是我用来绘制主视图的可组合函数。

@Composable
fun HomeScreenApp() {
    showPetsList(dogs = dogData)
}

enter image description here

2 个答案:

答案 0 :(得分:2)

在 Jetpack compose Toolbar 中,可以使用名为 TopAppBar 的 Composable 函数轻松实现。您需要将 TopAppBar 与您的主要可组合函数放在一列内。

@Composable
fun HomeScreenApp() {
    Column() {
        TopAppBar(title = { Text(text = "Adopt Me") }, backgroundColor = Color.Red)
        showPetsList(dogs = dogData)
    }
}

上述函数调用列内的 TopAppBar,后跟主内容视图。 TopAppBar 函数接受一个 Text 对象(非字符串)作为标题。这也可以是任何可组合函数。您还可以指定其他参数,如 backgroundColor、navigationIcon、contentColor 等。请记住,TopAppBar 只是 Jetpack 团队提供的可组合。它也可以是您的自定义功能,以防您需要更多自定义。

输出

enter image description here

答案 1 :(得分:1)

通过 1.0.0(用 1.0.0-beta07 测试),您可以使用 TopAppBar

最好的方法是使用 Scaffold。类似的东西:

    Scaffold(
        topBar = {
            TopAppBar(
                title = {
                    Text(text = "TopAppBar")
                },
                navigationIcon = {
                    IconButton(onClick = { }) {
                        Icon(Icons.Filled.Menu,"")
                    }
                },
                backgroundColor = ....,
                contentColor = ....
            )
        }, content = {
            
        })

enter image description here