Example #1
0
 protected override void OnAttached()
 {
     if (Container != null && Element != null)
     {
         _tabbedPage = (CoreTabbedPage)Element;
         _renderer   = (TabbedPageRenderer)this.Container;
         UpdateVisiblity();
     }
 }
Example #2
0
 protected override void OnAttached()
 {
     if (Container != null && Element != null)
     {
         _tabbedPage = (CoreTabbedPage)Element;
         foreach (var view in this.Container.Subviews)
         {
             if (view is UITabBar)
             {
                 _tabBar = (UITabBar)view;
                 break;
             }
         }
         UpdateVisiblity();
     }
 }
        protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            if (setup)
            {
                return;
            }

            if (e.PropertyName == "Renderer")
            {
                tabbedPage = (CoreTabbedPage)Element;
                if (!tabbedPage.IsToolbarBottom)
                {
                    //var groupName = ViewGroup.GetChildAt(0).GetType().Name;
                    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());
                    }

                    if (layout != null)
                    {
                        for (int i = 0; i < layout.TabCount; i++)
                        {
                            var tab  = layout.GetTabAt(i);
                            var icon = tab.Icon;
                            if (icon != null)
                            {
                                icon = DrawableCompat.Wrap(icon);
                                DrawableCompat.SetTintList(icon, colors);
                            }
                        }
                    }
                }
            }
        }
        public override void ViewWillAppear(bool animated)
        {
            if (TabBar?.Items == null)
            {
                return;
            }

            tabbedPage = (CoreTabbedPage)Element;
            var selectedColor   = tabbedPage.SelectedForegroundColor.ToUIColor();
            var unselectedColor = tabbedPage.UnSelectedForegroundColor.ToUIColor();

            TabBar.BackgroundImage         = new UIImage();
            TabBar.BackgroundColor         = tabbedPage.TabBackgroundColor.ToUIColor();
            TabBar.SelectedImageTintColor  = selectedColor;
            TabBar.UnselectedItemTintColor = unselectedColor;

            for (int i = 0; i < TabBar.Items.Length; i++)
            {
                UpdateItem(TabBar.Items[i], selectedColor, unselectedColor);
            }

            base.ViewWillAppear(animated);
        }