0

可以通过设置“Shell.BackgroundColor”来更改顶部的 TabBars BackgroundColor。但这也会改变 NavigationBar 的 BackgroundColor(绿色区域)。

在此处输入图像描述

有谁知道如何在不更改 NavigationBar 的 BackgroundColor 的情况下更改顶部 TabBar 的 BackgroundColor?

还有什么奇怪的。通过设置“Shell.BackgroundColor”,两种颜色都将被设置(Shell 顶部 TabBar 和 NavigationBar),但它们的颜色略有不同。有谁知道为什么?

4

1 回答 1

1

似乎该 https://github.com/xamarin/Xamarin.Forms/issues/6711已经存在 GitHub 问题

我希望这是有帮助的

public class CustomShellRenderer : ShellRenderer
{
    protected override IShellSectionRenderer CreateShellSectionRenderer(ShellSection shellSection)
    {
        var renderer = base.CreateShellSectionRenderer(shellSection);
        if (renderer != null)
        {
            var a = (renderer as ShellSectionRenderer);
            (renderer as ShellSectionRenderer).NavigationBar.Translucent = false;
        }
        return renderer;
    }

    protected override IShellItemRenderer CreateShellItemRenderer(ShellItem item)
    {
        var renderer = base.CreateShellItemRenderer(item);
        (renderer as ShellItemRenderer).TabBar.Translucent = false;
        return renderer;
    }
}

或者将 Shell.BackgroundColor 设置为空值 -> Shell.BackgroundColor=""

于 2020-07-16T11:01:34.357 回答