首页 > 解决方案 > 切换页面加载相同的左侧菜单

问题描述

我是新手Xamarin,我不太了解。我创建了一个带有预装左侧菜单(汉堡菜单)的 android 应用程序,包括导航视图。我content_page.xml的链接到MainActivity.cs并且我在那里运行我的代码。现在我想创建另一个页面。所以我添加了一个名为的布局元素(如content_pagesecond_content_page.xml,并将其链接到一个名为 的新活动SecondActivity.cs。代码背后的作品,我没有遇到任何问题。问题是第二个内容页面没有显示菜单项(有很多关于它的布局)。所以我试图从MainAcitivity's OnCreate方法中复制代码:

   base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        SetContentView(Resource.Layout.activity_main);

        //ToolBar
        AndroidX.AppCompat.Widget.Toolbar toolbar = FindViewById<AndroidX.AppCompat.Widget.Toolbar>(Resource.Id.toolbar);
        SetSupportActionBar(toolbar);
        DrawerLayout drawer = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close);
        drawer.AddDrawerListener(toggle);
        toggle.SyncState();
        NavigationView navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
        navigationView.SetNavigationItemSelectedListener(this);

但是我遇到了许多与工具栏相关的错误(正如VS所说)被加载两次,所以我认为这种加载相同菜单的方式是不正确的。

我的问题是:如何使用 xml 页面而不是 xaml 以正确的方式切换页面?

标签: c#androidxamarin

解决方案


似乎您可以使用 FlyoutPage,它包含弹出页面和详细信息页面,如果您愿意,菜单将始终显示。

这是有关它的指南:https ://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/navigation/flyoutpage

这是一个示例链接: https ://github.com/xamarin/xamarin-forms-samples/tree/main/Navigation/FlyoutPage


推荐阅读