我对新的 Jetpack 撰写导航组件 androidx.navigation:navigation-compose 有点困惑,该组件记录在 https://developer.android.com/jetpack/compose/navigation。
我说的对吗?使用 Jetpack Compose 时,具有 0 片段的单活动架构优于具有多个片段的单活动架构?
我知道我们仍然可以以这种方式使用fragments 和 Jetpack compose :
class MyFragment: Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return ComposeView(requireContext()).apply{
setContent {
MyFragmentComposable()
}
}
}
}
但是我想确保当使用 androidx.navigation:navigation-compose 时,我们不应该再使用fragment,像这样开始:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyApp()
}
}
}
是的,你是对的。最好不使用片段。您可以使用
NavHost
来声明您的导航图。
android 开发者网站有 2 种可能的方法来实现导航,建议首先使用带有基于组合和视图的屏幕的片段,然后逐渐摆脱片段并就位进行组合。