Android MvvmCross-将汉堡菜单更改为后退按钮
我使用的是XPlatformMenus示例Android项目,可在 我想做的是,当用户导航到InfoFragment时,汉堡包菜单图标变为后退箭头,当按下该按钮时,应用程序导航到上一个视图/片段,在本例中是HomeFragment 我在MainActivity上看到了一个名为ShowBackButton的方法,但它不是从任何地方调用的,因此我将其代码添加到BaseFragment的OnCreateView中,在那里它检查showHamburger菜单bool。我添加了一个else,代码大致如下:Android MvvmCross-将汉堡菜单更改为后退按钮,android,xamarin,xamarin.android,mvvmcross,Android,Xamarin,Xamarin.android,Mvvmcross,我使用的是XPlatformMenus示例Android项目,可在 我想做的是,当用户导航到InfoFragment时,汉堡包菜单图标变为后退箭头,当按下该按钮时,应用程序导航到上一个视图/片段,在本例中是HomeFragment 我在MainActivity上看到了一个名为ShowBackButton的方法,但它不是从任何地方调用的,因此我将其代码添加到BaseFragment的OnCreateView中,在那里它检查showHamburger菜单bool。我添加了一个else,代码大致如下:
if (ShowHamburgerMenu)
{
mainActivity.SupportActionBar?.SetDisplayHomeAsUpEnabled(true);
DrawerToggle = new MvxActionBarDrawerToggle(
Activity, // host Activity
mainActivity.DrawerLayout, // DrawerLayout object
Toolbar, // nav drawer icon to replace 'Up' caret
Resource.String.drawer_open, // "open drawer" description
Resource.String.drawer_close // "close drawer" description
);
DrawerToggle.DrawerOpened += (sender, e) => mainActivity?.HideSoftKeyboard();
mainActivity.DrawerLayout.AddDrawerListener(DrawerToggle);
}
else
{
mainActivity.SupportActionBar?.SetDisplayHomeAsUpEnabled(false);
DrawerToggle = new MvxActionBarDrawerToggle(
Activity, // host Activity
mainActivity.DrawerLayout, // DrawerLayout object
Toolbar, // nav drawer icon to replace 'Up' caret
Resource.String.drawer_open, // "open drawer" description
Resource.String.drawer_close // "close drawer" description
);
DrawerToggle.DrawerIndicatorEnabled = false;
//mainActivity.DrawerLayout.SetDrawerLockMode(DrawerLayout.LockModeLockedClosed);
//mainActivity.SupportActionBar?.SetDisplayHomeAsUpEnabled(false);
//mainActivity.ShowBackButton();
}
我设置showmburgermenu=false;在InfoFragment的OnCreateView中。到目前为止,我设法隐藏了汉堡包菜单,但无法显示后退按钮
任何可能有帮助的建议或指导,甚至参考一些文章,都将不胜感激
多谢各位 通过以下方式处理工具栏的NavigationClick事件,实现了这一点:
private void Toolbar_NavigationClick(object sender, Toolbar.NavigationClickEventArgs e)
{
var mainActivity = Activity as MainActivity;
mainActivity?.OnBackPressed();
}
通过设置DrawerToggle.DrawerIndicatorEnabled=false,成功地将汉堡包菜单更改为后退(箭头)按钮。但是我如何连接一个事件,让它在单击时导航到上一个片段呢?我正在尝试与您相同的操作,您是在infofragment中添加了这个单击事件,还是在basefragment中添加了它。