【问题标题】:Xamarin Forms Bottom Navigation BarXamarin 窗体底部导航栏
【发布时间】:2016-12-13 23:06:48
【问题描述】:
在我的 Xamarin 表单应用程序中,我需要在每个页面中添加一个底部导航栏。底部导航栏应该有 7 个按钮,点击每个按钮应该导航到相应的页面。有没有办法在 Xamarin 表单中实现这一点?
【问题讨论】:
-
Tabbed Page 听起来与您想要的功能相似。但我认为它仍然把Android标签放在首位。您可能需要实现自己的自定义页面或使用 Android 上的自定义渲染器来更改展示位置。尝试一些事情,然后回来解决更具体的问题。祝你好运。
标签:
xamarin
xamarin.ios
xamarin.android
xamarin.forms
【解决方案1】:
是的,我已经使用这个插件Bottom Bar Plugin 实现了这一点,它是一个非常有用的插件,它在屏幕底部为 android 和 IOS 呈现标签栏。即使您需要的所有文档都可以通过我提到的链接获得,stackoverflow 机器人也会蜂拥而至,除非我补充说您可以通过在 google 搜索
导航到相关网站
底部导航栏XF
除了为了本网站的利益而剪切和粘贴他们的文档(以便在发生热核战争时引用此答案的任何人,在此之后 stackoverflow 是唯一幸存的网站,仍然可以将此答案上下文化),我会敦促您查阅他们整理得很好的文档。
【解决方案2】:
您可以使用标签页本身。对于 iOS,默认情况下标签页按钮位于底部。对于 Android,有一种方法可以将标签移到底部。您需要更新 Xamarin 或 Visual Studio。更新后,将以下页面指令添加到 Tab 页 Xaml 代码中。
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
android:TabbedPage.ToolbarPlacement="Bottom"
例如:
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TabbedPageWithNavigationPage;assembly=TabbedPageWithNavigationPage"
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
android:TabbedPage.ToolbarPlacement="Bottom"
android:TabbedPage.BarItemColor="#a39d9f"
android:TabbedPage.BarSelectedItemColor="#007aff"
android:TabbedPage.IsSwipePagingEnabled="false"
x:Class="TabbedPageWithNavigationPage.MainPage">
<local:TodayPage />
<NavigationPage Title="Schedule" Icon="schedule.png">
<x:Arguments>
<local:SchedulePage />
</x:Arguments>
</NavigationPage>