From cb8cea820dff159ba02d53bef24013055dfcd82e Mon Sep 17 00:00:00 2001 From: vakrilov Date: Wed, 5 Feb 2020 15:51:22 +0200 Subject: [PATCH 1/2] fix(android): tap-trip-item title disappearing --- .../ui/bottom-navigation/bottom-navigation.android.ts | 7 +++++-- .../tab-navigation-base/tab-strip-item/tab-strip-item.ts | 6 +++--- nativescript-core/ui/tabs/tabs.android.ts | 4 +++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts b/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts index 49081f259..0048ed524 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); } @@ -705,7 +705,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..6d9e446be 100644 --- a/nativescript-core/ui/tabs/tabs.android.ts +++ b/nativescript-core/ui/tabs/tabs.android.ts @@ -819,7 +819,9 @@ export class Tabs extends TabsBase { } 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()); } From 2dd3bb203a66544174992839d6af311e960bfb63 Mon Sep 17 00:00:00 2001 From: vakrilov Date: Wed, 5 Feb 2020 16:12:43 +0200 Subject: [PATCH 2/2] fix(andoid): crash when setting font on tab-item with no image --- .../ui/bottom-navigation/bottom-navigation.android.ts | 3 +++ nativescript-core/ui/tabs/tabs.android.ts | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts b/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts index 0048ed524..34de5c4ef 100644 --- a/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts +++ b/nativescript-core/ui/bottom-navigation/bottom-navigation.android.ts @@ -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)) { diff --git a/nativescript-core/ui/tabs/tabs.android.ts b/nativescript-core/ui/tabs/tabs.android.ts index 6d9e446be..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,7 +817,7 @@ export class Tabs extends TabsBase { const tabBarItem = this._tabsBar.getViewForItemAt(index); const imgView = tabBarItem.getChildAt(0); const drawable = this.getIcon(tabStripItem); - + imgView.setImageDrawable(drawable); }