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

     2023-04-18     299

关键词:

【中文标题】在某些片段中隐藏导航抽屉【英文标题】:Hide Navigation Drawer in certain Fragments 【发布时间】:2020-12-29 17:17:34 【问题描述】:

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

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)


MainActivity 布局

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

我还有两个片段loginFramenthomeFragment 现在导航抽屉显示了这个片段,但我希望它只在主屏幕片段中。 检查了一些资源how to hide navigation drawer。但这种方法只锁定抽屉。

【问题讨论】:

如何导航到 loginFragment? 我正在使用导航图进行导航,我正在使用来自喷气背包@GabrieleMariotti 的导航设计模式 【参考方案1】:

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

【讨论】:

带有片段的 Android Studio 导航抽屉。工具栏隐藏在下一个片段活动或页面中

】带有片段的AndroidStudio导航抽屉。工具栏隐藏在下一个片段活动或页面中【英文标题】:AndroidStudionavigationdrawerwithfragments.ToolBarHiddeninnextfragmentActivityorpage【发布时间】:2021-04-0918:12:15【问题描述】:我正在尝试使用片段创建导... 查看详情

vue-router 中某些路由的单独导航抽屉

】vue-router中某些路由的单独导航抽屉【英文标题】:Separatenavigationdrawersforcertainroutesinvue-router【发布时间】:2020-06-1009:42:58【问题描述】:我正在结合Vuex和vue-router构建一个Vuetify应用程序。一些视图使用默认的导航抽屉,但其他... 查看详情

从片段中禁用导航抽屉

】从片段中禁用导航抽屉【英文标题】:Disablingnavigationdrawerfromfragment【发布时间】:2016-07-1422:59:39【问题描述】:我有一个带有导航抽屉和4个导航项(片段)的应用。在其中一个片段中,我设置了一个带有视图寻呼机的选项卡... 查看详情

在导航抽屉中管理片段

】在导航抽屉中管理片段【英文标题】:ManagingFragmentsinanavigationdrawer【发布时间】:2014-01-1709:52:10【问题描述】:我从http://javatechig.com/android/navigation-drawer-android-example但我无法管理片段,或者更确切地说是屏幕上的主要内容。@Su... 查看详情

在 Android Studio 的默认导航抽屉模板中使用按钮在片段之间切换

】在AndroidStudio的默认导航抽屉模板中使用按钮在片段之间切换【英文标题】:SwitchingbetweenfragmentswithabuttonindefaultNavigationDrawertemplateofAndroidStudio【发布时间】:2018-03-0614:40:22【问题描述】:我在AndroidStudio中使用默认的导航抽屉,... 查看详情

如何在导航抽屉中的两个片段之间传递数据

】如何在导航抽屉中的两个片段之间传递数据【英文标题】:Howtocommunicatedatabetweentwofragmentsinanavigationdrawer【发布时间】:2014-05-2420:20:17【问题描述】:我有一个包含不同片段的导航抽屉(每个项目显示一个片段),我想将数据... 查看详情

在导航抽屉管理的片段之间移动

】在导航抽屉管理的片段之间移动【英文标题】:MovingfromfragmenttofragmentmanagedbyNavigationDrawer【发布时间】:2021-04-2406:13:26【问题描述】:我从AndroidStudio模板中获取了NavigationDrawer。一切正常,但有几个与不理解此组件相关的问题... 查看详情

如何在主片段中单击按钮时打开导航抽屉?

】如何在主片段中单击按钮时打开导航抽屉?【英文标题】:Howtoopennavigationdraweronbuttonclickinmainfragment?【发布时间】:2013-10-2621:28:17【问题描述】:我制作了一个带有一个活动的应用程序,该活动使用导航抽屉打开许多不同的片... 查看详情

如何以编程方式显示/隐藏导航抽屉

】如何以编程方式显示/隐藏导航抽屉【英文标题】:Howtoshow/HideNavigationDrawerprogrammatically【发布时间】:2015-12-1112:56:10【问题描述】:如何使用按钮显示/隐藏导航抽屉,我使用thisSO链接来创建和管理导航抽屉。现在我正在使用(... 查看详情

禁用导航抽屉,在片段中切换主页按钮/向上指示器

】禁用导航抽屉,在片段中切换主页按钮/向上指示器【英文标题】:Disablingnavigationdrawer,togglinghome-button/up-indicatorinfragments【发布时间】:2013-10-2616:29:00【问题描述】:设置我有一个Activity,它的contentView是DrawerLayout的一个实例,... 查看详情

如何在不使用片段的情况下访问所有活动中的导航抽屉?

】如何在不使用片段的情况下访问所有活动中的导航抽屉?【英文标题】:Howtoaccessnavigationdrawerinallactivitieswithoutusingfragments?【发布时间】:2014-03-2907:27:47【问题描述】:我想在所有活动中访问导航抽屉。我不想使用片段。相反... 查看详情

在导航抽屉片段中保存视图页面片段的状态

】在导航抽屉片段中保存视图页面片段的状态【英文标题】:Savestateofviewpagerfragmentinnavigationdrawerfragments【发布时间】:2018-08-0121:14:56【问题描述】:我有导航抽屉。在导航抽屉的第一个片段中,有viewpager,并且有来自网络的信... 查看详情

从片段中的按钮单击打开导航抽屉(Kotlin)

】从片段中的按钮单击打开导航抽屉(Kotlin)【英文标题】:OpenNavigationDrawerfromButtonClickwithinFragment(Kotlin)【发布时间】:2020-06-0108:45:48【问题描述】:我在片段中创建了一个自定义按钮,并且我试图在单击时打开导航抽屉在活动... 查看详情

导航抽屉片段 Sqlite

】导航抽屉片段Sqlite【英文标题】:NavigationDrawerFragmentsSqlite【发布时间】:2018-01-1608:12:45【问题描述】:我正在制作一个TODO应用程序。我有一个导航抽屉,其中包含工作、个人等项目。当您单击工作时,它会打开工作片段,您... 查看详情

angular 2 - 如何在某些组件中隐藏导航栏

】angular2-如何在某些组件中隐藏导航栏【英文标题】:angular2-howtohidenavbarinsomecomponents【发布时间】:2017-08-2410:07:07【问题描述】:我在nav.component.html中单独创建了导航栏,如何在login.component等一些组件中隐藏导航栏。nav.component.... 查看详情

导航抽屉和工具栏出现在初始屏幕中

...及启动屏幕的喷气背包导航构建应用程序。我将启动画面片段设置为入口目的地。但是,当启动画面启动时,抽屉和工具栏会出现在屏幕上。如何将它们从初始屏幕中删除但将它们保留在所有其他片段中?抽屉布局设置在主活动... 查看详情

在导航抽屉上调用不是片段活动的活动

】在导航抽屉上调用不是片段活动的活动【英文标题】:CallanActivitythatisnotafragmentactivityonNavigationDrawer【发布时间】:2022-01-1013:07:02【问题描述】:我是AndroidStudio的新手。我有一个导航抽屉,我试图调用一个不是片段活动的活动... 查看详情

使用导航抽屉旋转时的片段更改

】使用导航抽屉旋转时的片段更改【英文标题】:Fragmentchangesonrotationwithnavigationdrawer【发布时间】:2016-04-3022:50:55【问题描述】:当前情景在我的应用程序中,我有带有片段的导航抽屉。在纵向模式下一切正常。问题假设在纵向... 查看详情