c# - 切换页面加载相同的左侧菜单
问题描述
我是新手Xamarin
,我不太了解。我创建了一个带有预装左侧菜单(汉堡菜单)的 android 应用程序,包括导航视图。我content_page.xml
的链接到MainActivity.cs
并且我在那里运行我的代码。现在我想创建另一个页面。所以我添加了一个名为的布局元素(如content_page
)second_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 以正确的方式切换页面?
解决方案
似乎您可以使用 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
推荐阅读
- html - 当 CSS 文件保存在不同的文件夹中时,当 HTML 页面在 Safari 上加载时,CSS 文件未加载
- python - 25 储物柜问题 - 无法弄清楚我的代码有什么问题
- ios - 将约束添加到底部锚点正在添加到超级视图底部的约束
- c++11 -
没有这样的文件或目录 - java - 为什么我会在 Spring 实例化的组件中找到静态字段?
- reactjs - 如何保护中继中的查询节点(id:ID!)?
- java - 有没有办法让按钮对对象执行操作而不创建实现 ActionListener 的新类?
- angular - 用户登录后,Angular 8 和 Firebase AuthGuard 仍然重定向到登录
- excel - 想要在 n 次复制功能中复制单元格值而不是公式
- javascript - P5 绕圈移动物体未能破坏旧物体