问题标签 [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.
android - 如何在 Android 上的 Xamarin.Forms.Shell 应用程序中的 TabBar 更改后防止 WebView 重新加载?
我在一个Xamarin.Forms.Shell
包含 4 个标签的应用程序上工作。其中一个选项卡包含WebView
允许用户通过提供者提供的 URL 安排约会。
AppShell.xaml
看起来像这样(所有图标都用 设置)FontImageSource
:
BookingPage
看起来像这样:
当BookingPage
首次显示时,WebView
正在按预期加载。但是,如果用户更改选项卡并返回到,BookingPage
则取决于平台有 2 种行为:
- 在iOS上,我们保持
WebView
原样以更改选项卡。 - 在Android上,
WebView
会重新加载。
我想知道是否有办法防止WebView
在 Android 上重新加载?
我已经搜索过类似的主题,例如如何在标签栏选择后防止 webview 重新加载?但没有答案。
custom-renderer - Xamarin.Forms:当显示 ToolbarItems 时,如何在 TitleView 中居中显示图像?
我正在开发一个包含4 个选项卡的Xamarin.Forms.Shell 应用程序。我想在所有这些页面上显示一个包含居中 SVG 徽标的公共。 Title
为此,我可以使用TitleView
这样的:
这很有效,并且徽标很好地位于NavigationBar
. 但是,如果页面包含ToolbarItems
,则徽标不再居中。
例如,在一个页面上我有一个ToolBarItem
这样的:
是否有另一种方法可以通过使用或计算 SVG 的大小来将SVG 中的居中图像显示为 Title?CustomRenderer
ToolbarItems
我看到一年前已经发布了一个类似的问题,但没有任何解决方案......
我已经尝试过ToolbarItem
像TitleView
这样重绘:
在 iOS 上是正确的,但我可以看到:
- 徽标不像不包含任何 的页面那样完全居中
ToolBarItem
,因为当我在页面之间切换时有一个小间隙 - 图标的位置不像我使用
ToolBarItem
在 Android 上,结果不正确:徽标的高度不同,并且图标不在TitleView
.
xaml - Xamarin.Forms:是否可以在代码隐藏中更新 Shell.TitleView?
我在一个包含 4 个选项卡的Xamarin.Forms.Shell 应用程序上工作。
在主选项卡上,我有:
- a
TitleView
包含公司标志的 - s
ScrollView
包含一个Image
as Header - a
ScrollView
包含主要内容,可以覆盖Header使其完全可见
XAML 如下所示:
默认情况下,我想在/上显示标题 :因此将隐藏,背景将是标题。然后我想仅在内容覆盖Header的一半时显示默认/ :这样才会可见,并且背景将是默认背景。Image
NavigationBar
StatusBar
NavigationBar
StatusBar
Image
NavigationBar
StatusBar
NavigationBar
StatusBar
但是我没有找到任何访问该Shell.NavBarIsVisible
属性或Shell.TitleView
代码隐藏的方法。
所以我想知道这可能吗?
xaml - Xamarin.Forms.Shell:是否可以将自定义 NavigationPage 与 Shell 一起使用?
我在一个包含 4 个选项卡的Xamarin.Forms.Shell应用程序上工作。
在主选项卡上,我有:
- 一个
NavigationBar
通过一个TitleView
包含一个标志 - 一个
ScrollView
包含一个Image
作为背景的标题 - a
ScrollView
包含主要内容,可以覆盖 Header 使其完全可见
XAML如下所示:
像这样,它工作正常。
但我想:
- 默认隐藏,只有在用户开始滚动主要内容后才显示
NavigationBar
- 背景的
Image
标题填充了顶部屏幕的所有空间:因此StatusBar
应该在此图像上以透明方式显示
我已更改XAML以隐藏NavigationBar
并通过否定在屏幕顶部显示 Header Margin
:
=> 这在 iOS 上运行良好,但在 Android 上并不完全,因为StatusBar
它不透明。
最后,为了显示NavigationBar
滚动后,我使用了一个ParallaxScrollView
控件来获取此视图的一些引用。
我做这样的事情:
=> 在iOS上,显示的NavigationBar
很好,但是当NavigationBar
再次隐藏时,标题前还有剩余的间隙。在Android上,渲染是令人满意的。
这是iOS上的渲染。
似乎无法NavigationPage
为 Xamarin.Forms.Shell 应用程序的主页创建自定义。那么有没有办法实现预期的行为?
c# - 漏洞?System.ArgumentException: '无法找出路线:
错误
System.ArgumentException: 'unable to figure out route for: //RegisterPage Parameter name: uri' System.ArgumentException: 'unable to figure out route for: //LogoPage Parameter name: uri'
怎么了?它无法弄清楚路线...?
XAML
背后的代码
WelcomeViewModel.cs
c# - 注册shell页面路由的正确位置?
注册页面路由的正确位置在哪里(在弹出菜单上不可见)?
OnStart
当页面在弹出菜单上不可见时,我通过 App.xaml.cs将其添加到方法中
当页面在弹出菜单上可见时,我添加这样的页面路由
xaml - 如何使用 Shell 在 Xamarin Forms 4.8 版本的 Flyout 菜单和底部标签栏中定义不同的项目?
我正在开发一个 Xamarin Forms 4.8 版本的应用程序,带有侧边菜单(Flyout)和底部Tabbar
使用 Shell 功能。我的侧边菜单有 4 个项目,底部Tabbar
有 5 个项目。两者都有不同的项目。Tabbar
我的应用程序周围总是需要有这样 5 个项目的底部。当我单击菜单内的任何项目时,底部Tabbar
项目将替换为侧菜单项。我不知道为什么。
我的 AppShell.xaml 页面如下所示,
当我在 Android Emulator 中运行时,我的底部标签栏如下图所示
Flyout 中的侧边菜单如下
当我单击菜单内的项目时,页面呈现如下
在这里,底部Tabbar
项目被替换为侧菜单项。
xamarin - 如何在没有后退按钮的 Xamarin Shell 中切换页面?
我想在基于 Shell 的 APP 顶部制作一个主页按钮。(参考 Xanimals 应用程序。)
此主页按钮的目的是移动到 Shell 中的特定常规页面之一。
gotoasync() 函数默认将上一页添加到导航堆栈,并启用后退按钮。我不想要后退按钮,我只想像按下 Shell 结构中的弹出按钮时那样移动。
请帮我。
android - Xamarin.Forms.Shell:如何管理 StatusBar 颜色
我开发了一个小型Xamarin.Forms.Shell 应用程序,但没有找到如何为Foreground和Background应用自定义颜色。StatusBar
我的应用程序使用非常基本的配色方案:
- 和的前景为黑色
NavigationBar
TabBar
- 白色为背景_
NavigationBar
_TabBar
我想为 保留相同的颜色,StatusBar
但事实并非如此:
- 在iOS上,
StatusBar
颜色似乎由LightMode / DarkMode管理
=> 在不管理 DarkMode的设备上,或者当LightMode 处于活动状态时,StatusBar
信息会很好地显示
=> 但是当DarkMode 处于活动状态时情况并非如此,因为这些信息是隐藏的
- 在Android上,
StatusBar
颜色似乎由styles.xaml
文件和android:statusBarColor
属性管理
=> 如果我指定白色,则StatusBar
信息不可见,因为也有白色
所以我尝试应用那里给出的解决方案:
- 这在iOS上不起作用:我仍然有相同的行为,因为
StatusBar
信息不可见,因为当DarkMode 处于活动状态时也有白色 - 这似乎适用于Android,但这并不涵盖所有 Android 版本(因为它适用于 Marshmallow 版本)
=> 如何管理 iOS 状态栏的前景色?安卓够用吗?
c# - 导航到 Xamarin Shell 中的特定顶部选项卡页
我的Xamarin Shell应用程序在文件中定义了以下FlyoutItem
元素AppShell.xaml
:
我想要获得的行为如下:
- 单击
B
页面,我希望将用户重定向到命名的C
选项卡(这是默认行为并且开箱即用)。ShellSection
B
- 单击
D
页面,我希望将用户重定向到命名的D
选项卡。ShellSection
B
我如何获得这个?