0

目前我在我的 xamarin 应用程序中使用 AppShell。我需要在 NavBar 中隐藏后退按钮箭头并将其替换为菜单图标。 NavigationPage.HasBackButton="False"不适合我。

4

1 回答 1

2

您可以使用自定义渲染器来重置NavigationIcon. 我使用星形图标作为参考。

[assembly: ExportRenderer(typeof(AppShell), typeof(ShellCustomRenderer))]
namespace ShellDemo.Droid
{
public class ShellCustomRenderer : ShellRenderer
{
    public ShellCustomRenderer(Context context) : base(context)
    {

    }

    protected override IShellToolbarAppearanceTracker CreateToolbarAppearanceTracker()
    {
        return new ToolbarAppearance();
    }         

}

public class ToolbarAppearance : IShellToolbarAppearanceTracker
{
    public void Dispose()
    {

    }

    public void ResetAppearance(Android.Support.V7.Widget.Toolbar toolbar, IShellToolbarTracker toolbarTracker)
    {
        //toolbar.SetBackgroundColor(Android.Graphics.Color.Red);
        toolbar.SetNavigationIcon(Resource.Drawable.star_small);// Resource.Drawable.star_small;
    }

    public void SetAppearance(Android.Support.V7.Widget.Toolbar toolbar, IShellToolbarTracker toolbarTracker, ShellAppearance appearance)
    {
        //toolbar.SetBackgroundColor(Android.Graphics.Color.Red);
        toolbar.SetNavigationIcon(Resource.Drawable.star_small);
    }
}

}

在此处输入图像描述

于 2020-07-24T06:35:11.660 回答