У меня MainActivity в качестве хоста моего контроллера навигации, он имеет панель инструментов и нижнюю панель навигации
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="?attr/actionBarTheme"
android:minHeight="?attr/actionBarSize"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<fragment
android:id="@+id/nav_host_fragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/bottom_nav"
app:layout_constraintTop_toBottomOf="@+id/toolbar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:name="androidx.navigation.fragment.NavHostFragment"
app:navGraph="@navigation/navigation_graph"
app:defaultNavHost="true"
/>
<android.support.design.widget.BottomNavigationView
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:background="@color/colorPrimary"
app:itemIconTint="@color/color_bottom_view_navigation"
app:itemTextColor="@color/color_bottom_view_navigation"
app:menu="@menu/menu_bottom_view"
app:labelVisibilityMode="labeled"
android:id="@+id/bottom_nav"/>
</android.support.constraint.ConstraintLayout>
в нем будут размещаться некоторые фрагменты в виде меню для нижней панели навигации, например HomeFragment
, OrderFragment
, FavouriteFragment
, CartFragment
, ProfileFragment
.
примерно так:
допустим, есть кнопка logOut в HomeFragment
, иесли щелкнуть, то он перейдет на экран входа в систему.как обычно, экран входа или регистрации не имеет нижнего вида навигации, а также не имеет панели инструментов.
, так как лучше всего удалить этот нижний вид навигации, а также панель инструментов при использовании навигацииконтроллер?
Я пытался использовать тег <Include>
в моем графике контроллера навигации,
, поэтому я делаю два графика навигации, затем я делаю 2 действия, чтобы разместить фрагмент в качестве хоста.первое действие имеет нижнюю навигационную панель и панель инструментов (MainActivity, как XML, которым я делюсь выше), а другая деятельность не имеет нижней навигационной панели и панели инструментов
график навигации похож на изображение ниже:
MainActivity как фрагмент хоста Nav
AuthActivity как фрагмент хоста Nav
, но при переходе с HomeFragment
(с кнопкой выхода из системы) до LoginFragment
с использованием этого кода:
logout_button.setOnClickListener {
Navigation.findNavController(it).navigate(R.id.action_toAuthActivity)
}
, но на экране входа в систему отображается нижняя навигационная панель и панель инструментов
Я предполагаю auth_graph (AuthActivityв качестве хоста) может использоваться для размещения экрана, который не имеет нижней навигационной панели и панели инструментов, например экран входа в систему, экран регистрации или экран забытого пароля.
, но .... я не могу удалить этонижний навигационный вид и панель инструментов, использующая этот способ
, так как удалить нижний навигационный вид и панель инструментов в некоторых фрагментах при использовании контроллера навигации?