是否可以使用不同风格的不同导航图

CLI*_*P Y 5 navigation android android-navigation-graph

我有一个包含三个 flavor_a 、 flavor_b 和 flavor_c 的 Android 项目。风味_a 和风味_b 使用相同的导航图。对于flavor_c 工作流程是不同的意味着只需要使用片段的子集。

是否可以对现有片段和源代码使用不同的导航图。

我尝试了一个带有现有片段的新导航图,但因错误而失败:

AAPT:错误:找不到资源 ID/splashFragment(又名 com.sample.app:id/splashFragment)。

源文件夹结构

-- main
   -- src
   -- res
      -- navigation
         --navigation_graph.xml
-- flavour_c
   --res
     --navigation
         --navigation_graph.xml
Run Code Online (Sandbox Code Playgroud)

小智 0

我遇到了同样的问题,我通过复制我的主要活动 xml 文件来解决这个问题,该文件包含带有附加 navGraph 的 NavHostFragment 。因此,在我的 Activity xml 风味副本中,我将 NavHostFragment 指向我的 nav_graph.xml 副本,它似乎有效。

主要口味:

-- main
    -- res
    -- activity_main.xml
Run Code Online (Sandbox Code Playgroud)
    <fragment
        android:name="androidx.navigation.fragment.NavHostFragment"
        ...
        app:navGraph="@navigation/nav_graph" />
Run Code Online (Sandbox Code Playgroud)
其他口味:
-- flavor1
  -- res
     -- activity_main.xml
Run Code Online (Sandbox Code Playgroud)
    <fragment
        android:name="androidx.navigation.fragment.NavHostFragment"
        ...
        app:navGraph="@navigation/nav_graph_flavor1" />
Run Code Online (Sandbox Code Playgroud)