我使用可用的XPlatformMenus樣品Android項目在https://github.com/MvvmCross/MvvmCross-Samples/tree/master/XPlatformMenusMvvmCross - 更改漢堡菜單備份按鈕
我想要做的是,當用戶導航到InfoFragment,該漢堡菜單圖標更改爲後退箭頭,當按下應用程序導航到前面的視圖/片段,在這種情況下是HomeFragment。
我在MainActivity上看到了一個名爲ShowBackButton的方法,但它並沒有從任何地方調用,所以我已經將它的代碼添加到了BaseFragment的OnCreateView,它檢查ShowHamurgerMenu布爾值。我已經添加了其他的,並且代碼看起來沿着這些路線的東西:
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();
}
我設置ShowHamburgerMenu = FALSE;在InfoFragment的OnCreateView中。到目前爲止,我設法隱藏了漢堡菜單,但無法顯示後退按鈕。
任何意見或指導,甚至參考一些可能有用的文章將不勝感激。
非常感謝!
設法改變漢堡包菜單背面(箭頭)按鈕,通過設置DrawerToggle.DrawerIndicatorEnabled =假。但是,如何連接一個事件來告訴它在點擊時導航到前一個片段? – Pietv