我目前正在做一个学校项目,它会显示你的时间表、成绩、科目等。要使用Android应用程序中的任何功能,你必须登录。我的问题来了:
当用户第一次启动应用程序时,他们应该看到一个登录片段。一旦登录完成,他们将看到一个设置屏幕,在那里他们可以选择成绩和其他用户特定的东西的颜色主题。只有这样,他们应该看到实际的主片段。在第二次启动时,用户应该直接看到主片段
主片段是一个FragmentContainerView
和一个BottomNavigationBar
,其中包含5个其他片段。在每个子片段中,您可以单击项目。然后会出现一个不同的片段,显示更多的详细信息。但是这些片段会与底部导航栏重叠,因此您必须先向后导航,然后才能在底部导航栏中选择不同的片段。
就我所知,我需要嵌套的FragmentContainerViews
。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment_activity_main"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity
应该托管LoginFragment
、SetupFragment
和一个MainFragment
。在MainFragment
中应该这样
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/nav_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/bottom_nav_menu" />
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment_activity_main"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@+id/nav_view"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/mobile_navigation" />
</androidx.constraintlayout.widget.ConstraintLayout>
我想用一个导航图来实现这一切。我必须为每个FragmentContainerView
使用一个或两个图吗?然后还有细节片段的问题。例如,如果我有一个HomeFragment
作为MainFragment
的子项,而MainFragment
又是MainActivity
的子项,则在HomeFragment
中,用户单击一个按钮,例如SettingsFragment
,这个片段应该显示为MainActivity
的子项。我该如何让它工作呢?我已经看过这个问题,但并不真正了解如何实现它。How to setup Multiple nested FragmentContainerViews with respective navigation graphs?
有人可能会创建一个非常简单的实现这个。我特别需要帮助嵌套的FragmentContainerViews
,BottomNavigationBar
和NavigationGraph
。我也遇到了问题,底部的导航栏没有React了。感谢您的帮助提前。请让我知道,如果你需要更多的细节。
1条答案
按热度按时间ar7v8xwq1#
1.way
2.way
导航
https://www.youtube.com/watch?v=DI0NIk-7cz8&t=527s&ab_channel=Stevdza-San