如何更改Jetpack Compose中topBar对应的屏幕

Hie*_* Le 7 android appbar scaffold android-navigation android-jetpack-navigation

我有一个这样的脚手架:

Scaffold(
   topBar = {
       TopBar(...)
   },
   bottomBar = {
       BottomNavigationBar(...)
   }
) {
    NavHost(...)
}
Run Code Online (Sandbox Code Playgroud)

当我导航到另一个屏幕时更改 TopBar 的最佳方法是什么?

jor*_*uke 2

有两种可能的方法:

  1. 观察currentScreen并使用when内部topBar并据此进行更改

  2. 放入topbar其所属的屏幕内。

对我来说更喜欢第二个,因为它不互相共享,没有理由使用丑陋的when语句。