【问题标题】:Switching pages loading the same left menu切换页面加载相同的左侧菜单
【发布时间】:2021-10-13 19:09:18
【问题描述】:

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

   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# android xamarin


    【解决方案1】:

    看来你可以使用FlyoutPage,它包含了flyout page和detail page,菜单会一直显示。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多