How to change navigation page back button in xamarin forms

前端 未结 2 2088
醉话见心
醉话见心 2020-12-17 06:54

I am trying to change back arrow image in navigation page. For this in android app i created navigation page renderer and then using method toolbar.SetNavigationIcon and its

2条回答
  •  甜味超标
    2020-12-17 06:54

    I solved this the next way: In my MainActivity i am added static toolbar property and identified it in OnCreateOptionsMenu

        public static Toolbar ToolBar { get; private set; }
    
        public override bool OnCreateOptionsMenu(IMenu menu)
        {
            ToolBar = FindViewById(Resource.Id.toolbar);
            ToolBar.SetNavigationIcon(Resource.Drawable.arrow);
            return base.OnCreateOptionsMenu(menu);
        }
    
        protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;
            ....
        }
    

    Then in PageRenderer:

    protected override void OnElementChanged(ElementChangedEventArgs e)
    {
         base.OnElementChanged(e);
         MainActivity.ToolBar?.SetNavigationIcon(Resource.Drawable.arrow);
    }
    

    But!! From 2 ways i have bad effect with redrawing

    Usage:

    async void tapImage_Tapped(object sender, EventArgs e)
    {
         await Navigation.PushAsync(new ChooseGenrePage(_listGenres));
    }
    

提交回复
热议问题