Open ghost opened 6 years ago
I have the same issue, no access to BadgeCount or BadgeColor.
All,
The changes were committed but the nuget package containing those changes were never released hence why you can't see those properties. To use, download source, build a release and package a local nuget file with the changes and consume that in your project. That'll do the trick.
Thanks for the information @RyanJosephVI. An update to the nuget package at some time, would be great for the community; it might save you from lots of messages too.
Sure thing @jonathan-jd4software I agree a new nuget package would be great but I'm not the project owner. Just a community member like yourself sharing how I got around this issue.
Sorry @RyanJosephVI my mistake :)
Hi there, I update BottomNavigationBar, Xamarin.Forms and change the pcl to netstandard and fix the issue!
Add custom renderer for iOS. It worked for me :) .
"using System; using BottomBar.XamarinForms; using Xamarin.Forms; using Xamarin.Forms.Platform.iOS; using SchoolApp.iOS; using System.ComponentModel;
[assembly: ExportRenderer(typeof(BottomBarPage), typeof(BottomBarPageRenderer))] namespace SchoolApp.iOS { class BottomBarPageRenderer : TabbedRenderer {
protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e);
if (e.NewElement != null)
{
BottomBarPage bottomBarPage = e.NewElement as BottomBarPage;
AddPropertyChangedHandlersForPages();
}
}
void AddPropertyChangedHandlersForPages() { BottomBarPage bottomBarPage = Element as BottomBarPage; foreach (var page in bottomBarPage.Children) { page.PropertyChanged += OnPagePropertyChanged; UpdateTabBadge(page); } } public override void ViewWillAppear(bool animated) { base.ViewWillAppear(animated);
BottomBarPage bottomBarPage = Element as BottomBarPage;
foreach (var page in bottomBarPage.Children)
{
UpdateTabBadge(page);
}
}
void OnPagePropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == BottomBarPageExtensions.BadgeCountProperty.PropertyName) { UpdateTabBadge((Page)sender); } } private void UpdateTabBadge(Page page) { if (TabBar != null && TabBar.Items != null) { var badgeCount = BottomBarPageExtensions.GetBadgeCount(page); var tabIndex = Tabbed.Children.IndexOf(page); TabBar.Items[tabIndex].BadgeValue = (badgeCount == 0 ? null : badgeCount.ToString()); } } } }
Hey People no Solid answer here! Maybe you already known? But with Xamarin.Forms 3.x you can put the Android Tabbed page at the Bottom and it's official!
I found this https://montemagno.com/xamarin-forms-official-bottom-navigation-bottom-tabs-on-android/
And the Xabre's Tab Badge Library , they did a Pre-release 2.1.0-pre.3 to support badges on it
Cannot assign property "BadgeCount": Property does not exists, or is not assignable, or mismatching type between value and property.