我正在使用Jetpack Compose和Material3开发Android应用程序。
我有一个由TopAppBar
和LazyColumn
组成的屏幕作为内容,通过scrollBehavior
链接在一起以实现漂亮的材质色调高度变化:
我现在想添加一个过滤器布局,它应该看起来和感觉像它的顶部应用程序栏的一部分
- 它应该是粘性的
- 应该具有相同的音调高度
我的简单实现没有做到这一点:滤波器没有音调升高:
@Composable
fun TestScreen() {
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior()
Scaffold(
topBar = {
Column {
TopAppBar(
title = { Text("Material3 top app bar") },
scrollBehavior = scrollBehavior,
)
Text(
text = "Filter - Filter - Filter - Filter - Filter",
modifier = Modifier
.fillMaxWidth()
.height(30.dp)
)
Divider()
}
},
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection)
) { contentPadding ->
LazyColumn(Modifier.padding(contentPadding)) {
items(100) { index ->
Text(
text = "item $index",
modifier = Modifier.fillMaxWidth()
)
}
}
}
}
那么我该如何正确地做到这一点呢?可悲的是,与Material2不同,我找不到“空”的TopAppBar。
2条答案
按热度按时间inkz8wg91#
您好,您可以使用此代码自定义工具栏:
eulz3vhy2#
Amiir Kalantari提供了一个漂亮的答案:)
这个答案建立在他的代码上,使其可重用并包括正确的导入。所有的赞美都归于他,因为他弄清楚了困难的部分!