TabbedPage 导航和 Shell 选项卡导航有啥区别

Posted

技术标签:

【中文标题】TabbedPage 导航和 Shell 选项卡导航有啥区别【英文标题】:What are the differences between TabbedPage navigation and Shell tabs navigationTabbedPage 导航和 Shell 选项卡导航有什么区别 【发布时间】:2020-09-26 17:40:05 【问题描述】:

基于TabbedPage 的导航与基于Shell Tabs (Shell + TabBar + Tab) 的导航有什么区别? (如有可能,请提供示例)。

Shell 是旧 page navigation 的替代品吗?

【问题讨论】:

【参考方案1】:

Xamarin.Forms Shell 基本上是一个容器,旨在提高 Xamarin.Forms 应用程序的导航复杂性。 根据 Xamarin.Forms Shell 文档,它具有以下优点:

降低移动应用程序开发的复杂性

提供通用的浏览用户体验

使用基于 URI 的导航方案

有一个集成的搜索控制器

要开始在 shell 中构建您的 UI,这将是起点:

<?xml version="1.0" encoding="UTF-8" ?>
<Shell
      xmlns="http://xamarin.com/schemas/2014/forms"
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
      xmlns:views="clr-namespace:ShellNavigationSample.Views"
      x:Class="ShellNavigationSample.AppShell">

</Shell>

【讨论】:

感谢您的回答,但您只报告了文档中的内容,我正在寻找显示差异的具体示例(有关如何降低复杂性的示例...等),更关注 TabbedPage vs Shell 选项卡。 它通过在一个地方定义导航结构而不是将其嵌入到多个单独的页面中来降低复杂性 使用 Shell 时,导航堆栈始终位于根目录。同时使用标签页,就不是这样了。

以上是关于TabbedPage 导航和 Shell 选项卡导航有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Shell TabbedPage 应用程序、Xamarin 表单中更改图标和文本大小

Xamarin Forms/Prism 8 - 带有 NavigationPage 导航的 TabbedPage 无法正常工作

如何在 Xamarin.Forms 的 TabbedPage 的选项卡中放置一个按钮?

FreshMVVM 在 ContentPage 和 TabbedPage 之间切换导航堆栈

TabbedPage 中的 Xamarin Forms Prism Navigation 表现为 PushModelAsync 或导航栏消失

获取 Xamarin.Forms 上 TabbedPage 的本机 iOS 系统选项卡栏图标