1.添加库
implementation("androidx.navigation:navigation-common:2.8.9")
implementation("androidx.navigation:navigation-compose:2.8.9")
implementation("androidx.compose.material3:material3:1.3.2")
implementation("androidx.compose.material3.adaptive:adaptive:1.1.0")
implementation("androidx.compose.material3.adaptive:adaptive-layout-android:1.1.0")
implementation("androidx.compose.material3.adaptive:adaptive-navigation-android:1.1.0")
implementation("androidx.compose.material3.adaptive:adaptive-navigation:1.1.0")
implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.3.2")
implementation("androidx.compose.material:material:1.8.0")
implementation("androidx.compose.material:material-icons-extended:1.7.8")
implementation("androidx.compose.material:material-icons-core:1.7.8")
implementation("androidx.compose.material3:material3-window-size-class:1.3.2")
2.示例
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(rememberTopAppBarState())
Scaffold(
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
topBar = {
MediumTopAppBar(
colors = TopAppBarDefaults.topAppBarColors(
containerColor = MaterialTheme.colorScheme.primaryContainer,
titleContentColor = MaterialTheme.colorScheme.primary,
),
title = {
Text(
"Medium Top App Bar",
maxLines = 1,
overflow = TextOverflow.Ellipsis
)
},
navigationIcon = {
IconButton(onClick = { /* do something */ }) {
Icon(
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Localized description"
)
}
},
actions = {
IconButton(onClick = { /* do something */ }) {
Icon(
imageVector = Icons.Filled.Menu,
contentDescription = "Localized description"
)
}
},
scrollBehavior = scrollBehavior
)
},
) { innerPadding ->
innerPadding
//ScrollContent(innerPadding)
}