问题标签 [xamarin.forms.shell]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xaml - 如何将登录页面作为 ShellItem 添加到 Shell 而不显示为 FlyoutItem
当我像这样向 Shell 添加加载和登录页面时:
它可以工作,但是页面也作为没有名称的项目添加到 Shell 弹出项目中,但是当我按下它时,我会返回加载或登录页面......
我无法弄清楚如何解决这个问题......
有人面临同样的问题吗?
xaml - TabbedPage 导航和 Shell 选项卡导航有什么区别
基于TabbedPage的导航和基于Shell Tabs ( Shell
++ TabBar
)的导航有什么区别Tab
?(如有可能,请提供示例)。
是Shell
旧页面导航的替代品吗?
android - 将控件上方/上方附加到 Shell 应用栏而不更改它
我正在尝试Label
在应用栏(导航栏)上方添加一个可以是任何控件的图层(例如,让我们使用一个) Shell
,以便它在所有页面上都可用。为此,我尝试使用TitleView
,这显然不能满足我的要求(请参见下面的屏幕截图)。
试图
Page1.xaml:
AppShell.xaml:
因此,我要实现的目标分为两点:
Label
应该在整个应用栏 (FlyoutIcon
+ )的TitleView
顶部,而不是TitleView
仅在顶部,如屏幕截图中所述。- 同时原有的风格
ContentPage.Title
不应该改变。
原始页面标题
试图
期望的结果
奖金问题:
应用栏似乎Shell
由两部分组成FlyoutIcon
,TitleView
. Xamarin.Forms 如何/在哪里构建Shell
布局?非常感谢您在XF Github 存储库中提供简短解释或指向相关类。
尝试使用一些 Shell 自定义渲染器但没有成功。
编辑
- 附加的控件应该是其中的一部分,
Shell
以便我可以根据当前页面自定义它的内容。Flyout
这意味着在打开时也要被覆盖。
编辑 2
解决方案可能来自即将推出的功能Shell.AppBar。同时开放Android项目级别的解决方案。
xamarin.forms - 带有参数的 Xamarin.Forms Shell 导航层次结构
如何在 Xamarin.Forms Shell 应用程序中定义以下导航层次结构?
- 导航选项卡(路线“主”)
- 带有订单列表的页面(路线“订单”)
- 一个订单的详细信息页面(路线“订单”,参数“订单ID”)
- 该特定订单的子详细信息页面 1(路线“details1”,参数“orderId”)
- 该特定订单的子详细信息页面 2(路线“details2”,参数“orderId”)
- 一个订单的详细信息页面(路线“订单”,参数“订单ID”)
- 带有订单列表的页面(路线“订单”)
只要只有order
页面而没有定义子详细信息页面,它就可以很好地工作。然后我可以通过Shell.Current.GoToAsync("//main/orders/order?orderId=5")
路由导航到该页面。
但是,当我添加子详细信息页面时(无论我是通过Routing.RegisterRoute
XAMLGoToAsync
还是System.ArgumentException: 'unable to figure out route for: //main/orders/order?orderId=5'
通过 XAML 定义层次结构:
当我通过自定义路由定义它时,同样的例外:
c# - 在 xamarin 表单 shell 中打开左侧菜单时的事件
我正在使用 xamarin 表单外壳。我有 1 个图像和 1 个标签来分配用户的姓名和个人资料图片。我希望每次菜单打开时(按下按钮或向右拖动)再次更新该值,但我找不到任何与之相关的事件。有人请帮帮我
xaml - 定义 Shell.TitleView,同时在 shell 中保留选项卡的标题文本,但似乎以不同的字体显示
我正在定义一个自定义Shell.TitleView
以保留我的选项卡/页面标题,ContentPage
如下所示:
这里的问题是默认生成的标题Shell.TitleView
(在第二个选项卡中)与我的不同(当您从一个选项卡导航到另一个选项卡时,差异比在屏幕截图中更明显),起初我认为这是一个问题FontSize
和之间的组合FontAttributes="bold"
。
澄清
- 第一个选项卡:使用我的自定义
Shell.TitleView
. - 第二个选项卡:不使用/定义一个
Shell.TitleView
. - 我没有使用任何样式或自定义字体,只是使用空模板项目进行外壳弹出。
- 不同我的意思是应用栏中的自定义标题文本有点粗,删除粗体属性不会使其相同。
是什么导致了这种差异?如果是因为不同FontFamily
,那么FontFamilly
默认的Shell.TitleView使用的是什么?
如何让它一样?
编辑
使用 Opacity 和 TextColor,它们几乎相似,但仍不是 100%。
c# - 我可以在 Xamarin Forms Shell 的选项卡栏上方添加静态视图吗?
我想在 Xamarin Forms Shell(iOS 和 Android)的选项卡栏上方添加一个自定义视图,以实现始终可见的音频播放器。
对于 Android,我查看了这篇关于在 Android 上自定义标签栏的博客文章(https://www.andrewhoefling.com/Blog/Post/xamarin-forms-shell-customizing-the-tabbar-android),并添加了一个额外的布局id '@+id/bottomtab.view' 到我自定义的 BottomTabLayout.axml。
在我的 TabBar 子类的自定义 ShellItemRenderer 中,我想将 xaml 添加到布局中,但这不起作用。
XAML
由于某种原因,应用了外部网格的背景,就像您在屏幕截图中看到的那样,但没有显示内容。我不知道如何应用正确的尺寸来使网格和孩子占据屏幕的整个宽度。
我喜欢在 xaml 中定义视图内容以便能够设置绑定等的想法。如何在布局中正确渲染视图?
================
2020-11-12 更新
我已更改代码以实现 Leo 的建议,但将其更改为使用 android xml 中的 bottomtab.view 布局。(我使用 framelayout bottomtab.tabbar.container 作为一种浮动按钮,效果很好)。
但是,标签栏上方的视图宽度看起来不正确。在屏幕截图中,您看到 Pink BoxView 没有右侧,看起来内部 gridview(白色背景)太宽了。屏幕截图的底部黑色边框是我编辑的标签栏。
这是我对 xaml 中额外视图的定义:
这是改编的 SetupView 方法
有什么建议让它使用正确的宽度吗?还是我的 xaml 定义不正确?