protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            tabbedPage                     = (CoreTabbedPage)Element;
            TabBar.BackgroundImage         = new UIImage();
            TabBar.BackgroundColor         = tabbedPage.TabBackgroundColor.ToUIColor();
            TabBar.SelectedImageTintColor  = tabbedPage.SelectedForegroundColor.ToUIColor();
            TabBar.UnselectedItemTintColor = tabbedPage.UnSelectedForegroundColor.ToUIColor();
        }
        protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            if (setup)
            {
                return;
            }

            if (e.PropertyName == "Renderer")
            {
                tabbedPage = (CoreTabbedPage)Element;
                pager      = (ViewPager)ViewGroup.GetChildAt(0);
                layout     = (TabLayout)ViewGroup.GetChildAt(1);
                setup      = true;

                ColorStateList colors = CreateColorState();

                layout.SetTabTextColors(tabbedPage.UnSelectedForegroundColor.ToAndroid(), tabbedPage.SelectedForegroundColor.ToAndroid());

                if (tabbedPage.TabBackgroundColor != Color.Default)
                {
                    layout.SetBackgroundColor(tabbedPage.TabBackgroundColor.ToAndroid());
                }


                for (int i = 0; i < layout.TabCount; i++)
                {
                    var tab  = layout.GetTabAt(i);
                    var icon = tab.Icon;
                    if (icon != null)
                    {
                        icon = Drawable.DrawableCompat.Wrap(icon);
                        Drawable.DrawableCompat.SetTintList(icon, colors);
                    }
                }
            }
        }