【问题标题】:Xamarin Navigation Bar Hide Hamburger MenuXamarin 导航栏隐藏汉堡菜单
【发布时间】:2021-10-20 17:34:39
【问题描述】:

我需要隐藏某些页面上的汉堡菜单,但仍会在导航栏中显示信息。我不知道有什么方法可以做到这一点。

另外,我需要导航栏固定在屏幕顶部,但是当键盘弹出时它会被切断。

我该怎么办?

【问题讨论】:

  • 您好,您是在开发ShellNon-shell 项目吗?
  • 这是一个非 shell 项目
  • 您想隐藏汉堡包图标但仍然在某些页面上显示导航栏吗?
  • 是的,这正是我想要做的

标签: c# android xamarin xamarin.forms


【解决方案1】:

FlyoutPage.ShouldShowToolbarButton方法用于判断是否显示/隐藏汉堡图标,选择页面时每次触发。

我们可以定义一个bool字段,在指向特定页面时改变它的值。

FlyoutPage

 public override bool ShouldShowToolbarButton()
        {
            return showIcon;
        }

        private bool showIcon = true;

        private void ListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var item = e.SelectedItem as FlyoutPage1FlyoutMenuItem;
            if (item == null)
                return;

            var page = (Page)Activator.CreateInstance(item.TargetType);
            page.Title = item.Title;

            Detail = new NavigationPage(page);
            IsPresented = false;

            FlyoutPage.ListView.SelectedItem = null;


            //add this logic
            showIcon = (item.Id == 1) ? false : true;   //only the second page do not show hamburger icon
        }

【讨论】:

猜你喜欢
  • 2018-11-09
  • 2019-04-19
  • 2021-02-17
  • 2018-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-20
  • 2021-12-11
相关资源
最近更新 更多