【问题标题】:Display back button in fragment with Toolbar使用工具栏在片段中显示后退按钮
【发布时间】:2016-08-26 13:23:53
【问题描述】:

我使用的是基于片段的导航,每个片段都有自己的工具栏。

导航到片段时,我希望后退按钮显示在工具栏中。

我已经重写了 OnCreateView 方法,如下所示:

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
   var ignored = base.OnCreateView(inflater, container, savedInstanceState);
   var view = this.BindingInflate(_fragmentId, null);
   _toolbar = view.FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
   if (_toolbar != null)
   {
      ParentActivity.SetSupportActionBar(_toolbar);
      ParentActivity.SupportActionBar.Title = _title;
      ParentActivity.SupportActionBar.SetDisplayHomeAsUpEnabled(true);
      _drawerToggle = new MvxActionBarDrawerToggle(
         Activity,
         (ParentActivity as MainView).DrawerLayout,
         _toolbar,
         Resource.String.drawer_open,
         Resource.String.drawer_close);

      (ParentActivity as MainView).DrawerLayout.AddDrawerListener(_drawerToggle);
   }

   return view;
}

根据许多其他堆栈溢出答案,SetDisplayHomeAsUpEnabled(true) 应该将按钮更改为后退按钮,但是这不起作用,如以下屏幕截图所示:

当我导航到片段时,我检查了 SetDisplayHomeAsUpEnabled(true) 行。

作为参考,我将 Xamarin 与 MvvmCross 一起使用。

在使用基于片段的导航时,如何将工具栏更改为上/后退按钮?

【问题讨论】:

    标签: c# android xamarin mvvmcross android-toolbar


    【解决方案1】:

    解决了:

    DrawerToggle 以某种方式覆盖了工具栏设置。添加以下行可以解决问题。

    _drawerToggle.DrawerIndicatorEnabled = false;
    

    【讨论】:

      【解决方案2】:

      我对 Xamarin 不是很熟悉。尝试使用 ParentActivity.SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_menu_white_24dp); 设置指标。这可能会有所帮助。

      【讨论】:

      • 这个没有任何作用,仍然显示三个横线。
      • 标题确实发生了变化,只是图标没有变化
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      相关资源
      最近更新 更多