Скрыть BottomNavigationView на навигацию в Xamarin.Forms (только для Android) - PullRequest
0 голосов
/ 16 октября 2018

Я использую новую функцию Xamarin.Forms для установки панели вкладок «Внизу» для Android, используя следующие свойства:

xmlns: android = "clr-namespace: Xamarin.Forms.PlatformConfiguration.AndroidSpecific; assembly = Xamarin.Forms.Core "android: TabbedPage.ToolbarPlacement =" Bottom "

Мне нужно скрыть панель вкладок при переходе на другие страницы.Я написал собственный рендерер, унаследованный от TabbedPageRenderer, но я не могу получить экземпляр BottomNavigationView с помощью OnElementChanged.

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Хотя это возможно, согласно этой теме установка страницы с вкладками внутри страницы навигации не рекомендуется Apple.

Лучшим решением было бы открыть модальную страницу поверх TabbedPage.Я предполагаю, что модальная страница может быть NavigationPage, но я не пробовал это.

0 голосов
/ 16 октября 2018

В идеале, вы должны держать TabbedPage внутри NavigationPage и помещать новые страницы поверх TabbedPage.

Невозможно получить ссылку на BottomNavigationView, поскольку это личное поле .Хотя вы можете использовать рефлексию для установки значений, против чего я настоятельно рекомендую.

var info = typeof(TabbedPageRenderer).GetTypeInfo();
var _bottomNavigationView = (BottomNavigationView)info.GetField("_bottomNavigationView", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(this);`
...