Exemple #1
0
        public static void UpdateBackButton(this AToolbar nativeToolbar, Toolbar toolbar)
        {
            _defaultNavigationIcon ??= nativeToolbar.NavigationIcon;

            if (toolbar.BackButtonVisible)
            {
                nativeToolbar.NavigationIcon ??= _defaultNavigationIcon;

                var         backButtonTitle = toolbar.BackButtonTitle;
                ImageSource image           = toolbar.TitleIcon;

                if (!string.IsNullOrEmpty(backButtonTitle))
                {
                    nativeToolbar.NavigationContentDescription = backButtonTitle;
                }
                else if (image == null ||
                         nativeToolbar.SetNavigationContentDescription(image) == null)
                {
                    nativeToolbar.SetNavigationContentDescription(Resource.String.nav_app_bar_navigate_up_description);
                }
            }
            else
            {
                if (!toolbar.DrawerToggleVisible)
                {
                    nativeToolbar.NavigationIcon = null;
                }
            }

            nativeToolbar.UpdateIconColor(toolbar);
            nativeToolbar.UpdateBarTextColor(toolbar);
        }
Exemple #2
0
        public static void UpdateBackButton(this AToolbar nativeToolbar, Toolbar toolbar)
        {
            if (toolbar.BackButtonVisible)
            {
                var context =
                    nativeToolbar.Context?.GetThemedContext() ??
                    nativeToolbar.Context ??
                    toolbar.Handler?.MauiContext?.Context;

                nativeToolbar.NavigationIcon ??= new DrawerArrowDrawable(context !)
                {
                    Progress = 1
                };

                var         backButtonTitle = toolbar.BackButtonTitle;
                ImageSource image           = toolbar.TitleIcon;

                if (!string.IsNullOrEmpty(backButtonTitle))
                {
                    nativeToolbar.NavigationContentDescription = backButtonTitle;
                }
                else if (image == null ||
                         nativeToolbar.SetNavigationContentDescription(image) == null)
                {
                    nativeToolbar.SetNavigationContentDescription(Resource.String.nav_app_bar_navigate_up_description);
                }
            }
            else
            {
                if (!toolbar.DrawerToggleVisible)
                {
                    nativeToolbar.NavigationIcon = null;
                }
                else
                {
                    nativeToolbar.SetNavigationContentDescription(Resource.String.nav_app_bar_open_drawer_description);
                }
            }

            nativeToolbar.UpdateIconColor(toolbar);
            nativeToolbar.UpdateBarTextColor(toolbar);
        }