Column {
Text(text = "Title")
if ( /* topBar state condition */ )
Text(text = "Subtitle")
}
对于应用栏的其余部分,您可以使用包含所有元素(取决于您的栏)的Row,如下所示:
Row(
verticalAlignment = Alignment.CenterVertically
horizontalArrangement = Arrangement.SpaceBetween
) {
Row {
IconButton(...) // For the back button
// Your title and subtitle Column()
Column {
Text(text = "Title")
if ( /* topBar state condition */ )
Text(text = "Subtitle")
}
}
// Rest of the IconButtons if needed
Row {
IconButton(...)
IconButton(...)
}
}
1条答案
按热度按时间qxsslcnc1#
如果您需要一些不同的东西,您可以简单地为屏幕支架中的topBar参数创建一个可组合函数,它将实现您需要的所有特性。
如果您已经在代码中使用了Scaffold,那么只需使用when()语句并为每个屏幕传递适当的可组合对象即可!
对于副标题,您可以使用一个带有两个Text的简单列,
对于应用栏的其余部分,您可以使用包含所有元素(取决于您的栏)的Row,如下所示:
抱歉,因为我不太精通Jetpack合成动画,但它应该很容易实现,因为他们的库非常简单易用,您可以随时检查他们的website上的文档。
Material3元素仍然是alpha,但是使用简单的surface/box/etc ...元素,你可以做出大多数需要的定制设计。
希望我能帮上忙!