diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java index 92f8aefbb36..327d444f8c0 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java @@ -293,12 +293,12 @@ public void updateBadge(int index) } int menuItemId = this.mBottomNavigationView.getMenu().getItem(index).getItemId(); + BadgeDrawable badgeDrawable = this.mBottomNavigationView.getOrCreateBadge(menuItemId); if (tabProxy.getProperty(TiC.PROPERTY_BADGE) != null) { - BadgeDrawable badgeDrawable = this.mBottomNavigationView.getOrCreateBadge(menuItemId); badgeDrawable.setVisible(true); badgeDrawable.setNumber(TiConvert.toInt(tabProxy.getProperty(TiC.PROPERTY_BADGE), 0)); } else { - this.mBottomNavigationView.removeBadge(menuItemId); + badgeDrawable.setVisible(false); } } @@ -315,7 +315,6 @@ public void updateBadgeColor(int index) } int menuItemId = this.mBottomNavigationView.getMenu().getItem(index).getItemId(); - Log.i("COL", "" + tabProxy.getProperty(TiC.PROPERTY_BADGE_COLOR)); if (tabProxy.getProperty(TiC.PROPERTY_BADGE_COLOR) != null) { BadgeDrawable badgeDrawable = this.mBottomNavigationView.getOrCreateBadge(menuItemId); badgeDrawable.setBackgroundColor( diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUITabLayoutTabGroup.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUITabLayoutTabGroup.java index 215223b9585..5985bb7e16a 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUITabLayoutTabGroup.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUITabLayoutTabGroup.java @@ -284,7 +284,7 @@ public void updateBadge(int index) badgeDrawable.setVisible(true); badgeDrawable.setNumber(TiConvert.toInt(tabProxy.getProperty(TiC.PROPERTY_BADGE), 0)); } else { - this.mTabLayout.getTabAt(index).removeBadge(); + badgeDrawable.setVisible(false); } } diff --git a/apidoc/Titanium/UI/Tab.yml b/apidoc/Titanium/UI/Tab.yml index 0340baf1b53..b40eda2851d 100644 --- a/apidoc/Titanium/UI/Tab.yml +++ b/apidoc/Titanium/UI/Tab.yml @@ -180,12 +180,18 @@ properties: For information about color values, see the "Colors" section of . platforms: [android] - since: {android: 3.0.0} + since: {android: "3.0.0"} - name: badge summary: Badge value for this tab. `null` indicates no badge. + description: | + On the Android platform you will need to use a Theme with `parent="Theme.MaterialComponents.*"` + in order to use a badge. You have to pass a number as a string. Non-numberic characters will not be displayed. + + On iOS, a badge will only be shown if the tab has been assigned an icon. Text only tabs do not support badges. type: String - platforms: [iphone,ipad, macos] + platforms: [android, iphone, ipad, macos] + since: {android: "9.3.0"} - name: badgeColor summary: | @@ -194,9 +200,9 @@ properties: description: | For information about color values, see the "Colors" section of . type: [String, Titanium.UI.Color] - since: 6.1.0 osver: {ios: {min: "10.0"}} - platforms: [iphone, ipad, macos] + platforms: [android, iphone, ipad, macos] + since: {android: "9.3.0", iphone: "6.1.0", ipad: "6.1.0", macos: "9.2.0"} - name: icon summary: Icon URL for this tab.