diff --git a/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts b/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts index 49081f259..34de5c4ef 100644 --- a/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts +++ b/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts @@ -391,7 +391,7 @@ export class BottomNavigation extends TabNavigationBase { if (this._manager && this._manager.isDestroyed()) { return; } - + this._attachedToWindow = true; this.changeTab(this.selectedIndex); } @@ -614,6 +614,9 @@ export class BottomNavigation extends TabNavigationBase { private getIcon(tabStripItem: TabStripItem): android.graphics.drawable.BitmapDrawable { const iconSource = tabStripItem.image && tabStripItem.image.src; + if (!iconSource) { + return null; + } let is: ImageSource; if (isFontIconURI(iconSource)) { @@ -705,7 +708,10 @@ export class BottomNavigation extends TabNavigationBase { } public setTabBarItemFontInternal(tabStripItem: TabStripItem, value: Font): void { - tabStripItem.nativeViewProtected.setTextSize(value.fontSize); + if (value.fontSize) { + tabStripItem.nativeViewProtected.setTextSize(value.fontSize); + } + tabStripItem.nativeViewProtected.setTypeface(value.getAndroidTypeface()); } diff --git a/nativescript-core/ui/tab-navigation-base/tab-strip-item/tab-strip-item.ts b/nativescript-core/ui/tab-navigation-base/tab-strip-item/tab-strip-item.ts index bab24db82..ead226c81 100644 --- a/nativescript-core/ui/tab-navigation-base/tab-strip-item/tab-strip-item.ts +++ b/nativescript-core/ui/tab-navigation-base/tab-strip-item/tab-strip-item.ts @@ -127,7 +127,7 @@ export class TabStripItem extends View implements TabStripItemDefinition, AddChi const parent = this.parent; const tabStripParent = parent && parent.parent; - return tabStripParent && (tabStripParent).setTabBarIconColor(this, args.value); + return tabStripParent && tabStripParent.setTabBarIconColor(this, args.value); }); this.image.style.on("colorChange", this._imageColorHandler); @@ -135,7 +135,7 @@ export class TabStripItem extends View implements TabStripItemDefinition, AddChi const parent = this.parent; const tabStripParent = parent && parent.parent; - return tabStripParent && (tabStripParent).setTabBarIconColor(this, args.value); + return tabStripParent && tabStripParent.setTabBarIconColor(this, args.value); }); this.image.style.on("fontInternalChange", this._imageFontHandler); @@ -143,7 +143,7 @@ export class TabStripItem extends View implements TabStripItemDefinition, AddChi const parent = this.parent; const tabStripParent = parent && parent.parent; - return tabStripParent && (tabStripParent).setTabBarIconColor(this, args.value); + return tabStripParent && tabStripParent.setTabBarIconColor(this, args.value); }); this.image.on("srcChange", this._imageSrcHandler); } diff --git a/nativescript-core/ui/tabs/tabs.android.ts b/nativescript-core/ui/tabs/tabs.android.ts index 6008b7980..a2ab442df 100644 --- a/nativescript-core/ui/tabs/tabs.android.ts +++ b/nativescript-core/ui/tabs/tabs.android.ts @@ -689,6 +689,9 @@ export class Tabs extends TabsBase { private getIcon(tabStripItem: TabStripItem): android.graphics.drawable.BitmapDrawable { const iconSource = tabStripItem.image && tabStripItem.image.src; + if (!iconSource) { + return null; + } let is: ImageSource; if (isFontIconURI(iconSource)) { @@ -814,12 +817,14 @@ export class Tabs extends TabsBase { const tabBarItem = this._tabsBar.getViewForItemAt(index); const imgView = tabBarItem.getChildAt(0); const drawable = this.getIcon(tabStripItem); - + imgView.setImageDrawable(drawable); } public setTabBarItemFontInternal(tabStripItem: TabStripItem, value: Font): void { - tabStripItem.nativeViewProtected.setTextSize(value.fontSize); + if (value.fontSize) { + tabStripItem.nativeViewProtected.setTextSize(value.fontSize); + } tabStripItem.nativeViewProtected.setTypeface(value.getAndroidTypeface()); }