我正在使用新的Xamarin.Forms功能通过以下属性在Android底部设置Tabbar
xmlns:android =“ clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific; assembly = Xamarin.Forms.Core” android:TabbedPage.ToolbarPlacement =“底部”
导航到其他页面时,我需要隐藏标签栏。我已经编写了一个继承自TabbedPageRenderer的自定义渲染器,但是我无法使用OnElementChanged获取BottomNavigationView的实例。
答案 0 :(得分:0)
理想情况下,应将TabbedPage保留在NavigationPage内,并将新页面推入TabbedPage顶部。
您无法获得BottomNavigationView参考,因为它是private field。虽然,您可以使用反射来设置其值,但我强烈建议不要这样做。
var info = typeof(TabbedPageRenderer).GetTypeInfo();
var _bottomNavigationView = (BottomNavigationView)info.GetField("_bottomNavigationView", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(this);`
答案 1 :(得分:0)
尽管可行,但根据this thread,Apple不建议在导航页面内设置选项卡式页面。
更好的解决方案是在TabbedPage上打开模式页面。我想模式页面可以是NavigationPage,但是我没有尝试过。