如何根据“导航”片段中的某个条件隐藏向上导航图标?

时间:2019-06-03 06:16:11

标签: android android-fragments android-architecture-components

我正在使用Navigation Component。它包含多个片段。

让我们考虑下图的3个片段。 Fa-> Fb-> Fc

Fb中,基于某些逻辑{逻辑计算仅在FaFb}中可用,我想在Fb中隐藏后退箭头按钮。我该如何实现

1 个答案:

答案 0 :(得分:0)

您可以手动定义Loop级别的目的地:

val navController = findNavController(R.id.nav_host_fragment)
/*
Passing each menu ID as a set of Ids because each menu should be considered as top level destinations.
*/
val appBarConfiguration = AppBarConfiguration(
    setOf(R.id.navigation_f_a, R.id.navigation_f_b, R.id.navigation_f_c)
)
setupActionBarWithNavController(navController, appBarConfiguration)

如果您的导航可以从Fb开始,也可以在导航图中将startDestination设置为Fb

<navigation xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:app="http://schemas.android.com/apk/res-auto"
       xmlns:tools="http://schemas.android.com/tools"
       app:startDestination="@id/navigation_f_b">

<!-- Destinations -->

</navigation>