protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); tabbedPage = (BaseTabbedPage)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 = (BaseTabbedPage)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); } } } }