Как скрыть кнопку возврата на панели навигации с помощью Xamarin.Forms - AppShell?

В настоящее время я использую AppShell в своем приложении xamarin. Мне нужно скрыть стрелку кнопки возврата в NavBar и заменить ее значком меню.NavigationPage.HasBackButton="False" У меня не работает.

1 ответ

Решение

Вы можете использовать пользовательский рендерер для сброса 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);
    }
}

}

ht tps:https://stackru.com/images/2afd3f3748a2b6b12568b0fc75033614ff3b5d23.gif

Другие вопросы по тегам