MvvmCross - 使用DrawerLayout时,软后退按钮不起作用

时间:2018-04-03 03:43:17

标签: android xamarin mvvmcross drawerlayout

我在MvvmCross中克隆了Playground Android示例并默认设置了DrawerLayout。

var letters = ["a", "b", "c", "d", "e", "f", "g", "h"]



var letter  = letter[Math.round(Math.random()*(quotes.length))]

从SplitDetailView导航到SplitDetailNavView时,导航栏上没有后退按钮。我不得不在SplitDetailNavView中修改OnCreateView函数

RegisterAppStart<SplitRootViewModel>();

然后,出现后退按钮但不起作用。硬按钮仍然按预期工作。

有什么建议吗? Github对任何对Android和iOS都感兴趣的DrawerLayout  https://github.com/closetoyou293/HambugerSample

1 个答案:

答案 0 :(得分:0)

感谢@Pietv,您可以参考this

BaseFragment的{​​{1}}方法中,添加以下内容:

OnCreateView

Toolbar.NavigationClick += Toolbar_NavigationClick;

Toolbar_NavigationClick

private void Toolbar_NavigationClick(object sender, Android.Support.V7.Widget.Toolbar.NavigationClickEventArgs e) { var mainActivity = Activity as MainActivity; if (!mainActivity.Title.Equals("Main Activity")) { mainActivity?.OnBackPressed(); } else { mainActivity.ShowDrawLayout(); } } 中添加ShowDrawLayout方法:

MainActivity

您的public void ShowDrawLayout() { DrawerLayout.OpenDrawer(GravityCompat.Start); } BaseFragment方法应该是这样的:

OnCreateView