【发布时间】:2021-08-27 09:57:49
【问题描述】:
想象一下 Android 中工具栏的常见行为。
您在Activity 中定义了一个Toolbar 小部件,并且可以在片段中使用onCreateOptionsMenu 和onOptionsItemSelected 访问它。
但是,普通的 Jetpack Compose 无法实现类似的操作,因为无法访问在 Activity 的 Scaffold 中定义的 Toolbar。
所以想想这个场景。您有一个Activity,其中定义了Scaffold,并在其中定义了NavHostScaffold。 NavHost 包含应用程序的所有子页面(其他可组合项)。标题可以处理查看导航目的地监听器,剩下的就是工具栏的动作。
您将如何根据您所在的当前页面/可组合项更改工具栏操作?并处理对这些操作的点击?
PS : 在每个页面中使用工具栏并不是一个解决方案,因为它会在动画页面之间切换时带来糟糕的用户体验,工具栏会在每个页面上消失并重新出现。
【问题讨论】:
标签: android android-jetpack-compose