Xamarin Forms Shell 是否有方法可以去掉导航栏但保留汉堡图标?

4
有没有办法让内容触碰屏幕顶部并保持汉堡图标? 在下面的示例中,想象一下蓝色背景是一张图片,我希望蓝色能够接触屏幕顶部,并且汉堡图标可以叠加在上面: Example 1 我尝试了以下操作,但它只改变了栏的颜色:
<Shell 
       BackgroundColor="Transparent">

如果没有隐藏仅限于工具栏的方法,有没有办法隐藏工具栏和汉堡包图标,然后手动添加图标呢?
编辑: 我尝试过了,但它也删除了汉堡包图标。 有没有办法重新添加汉堡包图标?
Shell.NavBarIsVisible="False"

编辑: 刚看到这个实现,这正是我所需要的,但有没有办法在Xamarin Shell中实现这种效果: https://xamgirl.com/transparent-navigation-bar-in-xamarin-forms/

解决方案: 现在已将此问题移至Xamarin Forms GitHub


使用自定义渲染器没有办法将其从导航栏中移除吗? - Ryan Gaudion
1
https://xamgirl.com/transparent-navigation-bar-in-xamarin-forms/ - Anand
1
我认为这是不可能实现的。样式已经在shell中设置为默认。 - Lucas Zhang
@RyanGaudion,你找到解决方案了吗?我尝试了Lucas Zhang的建议,但没有起作用。 - Gold.strike
很遗憾,我没有这样做。我不得不自己创建一个导航菜单,而没有使用 shell。 - Ryan Gaudion
显示剩余6条评论
1个回答

1
在资源字典中设置Shell导航栏的样式。
   <Shell.Resources>
        <ResourceDictionary>
            <Color x:Key="NavigationPrimary">#2196F3</Color>
            <Style x:Key="BaseStyle" TargetType="Element">
                <Setter Property="Shell.BackgroundColor" Value="Transparent" />  // set navigation bar as Transparent
                <Setter Property="Shell.ForegroundColor" Value="Blue" />
                <Setter Property="Shell.TitleColor" Value="Blue" />
                <Setter Property="Shell.DisabledColor" Value="#B4FFFFFF" />
                <Setter Property="Shell.UnselectedColor" Value="#95FFFFFF" />
                <Setter Property="Shell.TabBarBackgroundColor" Value="{StaticResource NavigationPrimary}" />
                <Setter Property="Shell.TabBarForegroundColor" Value="White"/>
                <Setter Property="Shell.TabBarUnselectedColor" Value="#95FFFFFF"/>
                <Setter Property="Shell.TabBarTitleColor" Value="White"/>
            </Style>
            <Style TargetType="TabBar" BasedOn="{StaticResource BaseStyle}" />
        </ResourceDictionary>
    </Shell.Resources>

谢谢 - 我会尝试的。你能展示一下在你的设备上它是什么样子的截图吗? - Ryan Gaudion
你可以分享一下你的样本,我这边运行良好。 - Lucas Zhang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接