Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在某些片段中隐藏导航抽屉_Android_Kotlin_Android Fragments_Navigation Drawer_Android Jetpack Navigation - Fatal编程技术网

Android 在某些片段中隐藏导航抽屉

Android 在某些片段中隐藏导航抽屉,android,kotlin,android-fragments,navigation-drawer,android-jetpack-navigation,Android,Kotlin,Android Fragments,Navigation Drawer,Android Jetpack Navigation,我建立了一个应用程序,它有一个登录屏幕和主屏幕。我遵循单一活动设计原则。我已经实现了这样的导航抽屉。 这是我的main活动 class MainActivity : AppCompatActivity() { private lateinit var drawerLayout: DrawerLayout private lateinit var appBarConfiguration: AppBarConfiguration override fun onCreate(savedInstan

我建立了一个应用程序,它有一个登录屏幕和主屏幕。我遵循单一活动设计原则。我已经实现了这样的导航抽屉。 这是我的
main活动

class MainActivity : AppCompatActivity() {

private lateinit var drawerLayout: DrawerLayout
private lateinit var appBarConfiguration: AppBarConfiguration

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    val binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    drawerLayout = binding.drawerLayout

    val navController = this.findNavController(R.id.navHostFragment)
    NavigationUI.setupActionBarWithNavController(this, navController, drawerLayout)

    appBarConfiguration = AppBarConfiguration(navController.graph, drawerLayout)
    NavigationUI.setupWithNavController(binding.navView, navController)
}

override fun onSupportNavigateUp(): Boolean {
    val navController = this.findNavController(R.id.navHostFragment)
    return NavigationUI.navigateUp(navController,drawerLayout)
}
}
维护布局

<?xml version="1.0" encoding="utf-8"?>

<layout 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">
<androidx.drawerlayout.widget.DrawerLayout
    android:id="@+id/drawerLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <fragment
            android:id="@+id/navHostFragment"
            android:name="androidx.navigation.fragment.NavHostFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:defaultNavHost="true"
            app:navGraph="@navigation/navigation" />
    </FrameLayout>
    <com.google.android.material.navigation.NavigationView
        android:id="@+id/navView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:menu="@menu/navdrawer" />
</androidx.drawerlayout.widget.DrawerLayout>


. 但这种方法只锁定抽屉。

我有相同的设计应用程序,我用activity制作了登录/注册屏幕,以及所有其他我想导航的屏幕,导航抽屉由碎片制作,也在一些我不想显示抽屉的子菜单中,我再次使用activity。活动和片段一起工作得非常好。在活动之间不使用抽屉导航对我来说更容易。快乐密码

如何导航到loginFragment?我使用的是导航图,我使用的是jetpacks@GabrieleMariotti的导航设计模式