From 10801557d09dbc4b869f4a7fc7772cae4ffe088a Mon Sep 17 00:00:00 2001 From: Alexander Djenkov Date: Thu, 11 Jul 2019 13:29:00 +0300 Subject: [PATCH] fix(bottom-navigation-android): tabStripItem backgroundColor (#7504) --- tns-core-modules/package.json | 2 +- .../bottom-navigation.android.ts | 4 +++ tns-core-modules/ui/tabs/tabs.android.ts | 26 +++++++++---------- tns-platform-declarations/package.json | 2 +- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/tns-core-modules/package.json b/tns-core-modules/package.json index 7d6e824e2..a9910468b 100644 --- a/tns-core-modules/package.json +++ b/tns-core-modules/package.json @@ -1,7 +1,7 @@ { "name": "tns-core-modules", "description": "Telerik NativeScript Core Modules", - "version": "6.0.0", + "version": "6.0.1", "homepage": "https://www.nativescript.org", "repository": { "type": "git", diff --git a/tns-core-modules/ui/bottom-navigation/bottom-navigation.android.ts b/tns-core-modules/ui/bottom-navigation/bottom-navigation.android.ts index 4d1c568b8..b24ddbdd6 100644 --- a/tns-core-modules/ui/bottom-navigation/bottom-navigation.android.ts +++ b/tns-core-modules/ui/bottom-navigation/bottom-navigation.android.ts @@ -169,6 +169,10 @@ function createTabItemSpec(tabStripItem: TabStripItem): org.nativescript.widgets iconSource = tabStripItem.image ? tabStripItem.image.src : tabStripItem.iconSource; tabItemSpec.title = tabStripItem.label ? tabStripItem.label.text : tabStripItem.title; + if (tabStripItem.backgroundColor instanceof Color) { + tabItemSpec.backgroundColor = tabStripItem.backgroundColor.android; + } + if (iconSource) { if (iconSource.indexOf(RESOURCE_PREFIX) === 0) { tabItemSpec.iconId = ad.resources.getDrawableId(iconSource.substr(RESOURCE_PREFIX.length)); diff --git a/tns-core-modules/ui/tabs/tabs.android.ts b/tns-core-modules/ui/tabs/tabs.android.ts index 769330906..4f62082f5 100644 --- a/tns-core-modules/ui/tabs/tabs.android.ts +++ b/tns-core-modules/ui/tabs/tabs.android.ts @@ -281,20 +281,18 @@ function initializeNativeClasses() { TabLayout = TabLayoutImplementation; } -function createTabItemSpec(item: TabStripItem): org.nativescript.widgets.TabItemSpec { +function createTabItemSpec(tabStripItem: TabStripItem): org.nativescript.widgets.TabItemSpec { let iconSource; const tabItemSpec = new org.nativescript.widgets.TabItemSpec(); - if (item.backgroundColor) { - if (item.backgroundColor instanceof Color) { - tabItemSpec.backgroundColor = item.backgroundColor.android; - } + if (tabStripItem.backgroundColor instanceof Color) { + tabItemSpec.backgroundColor = tabStripItem.backgroundColor.android; } - + // Image and Label children of TabStripItem // take priority over its `iconSource` and `title` properties - iconSource = item.image ? item.image.src : item.iconSource; - tabItemSpec.title = item.label ? item.label.text : item.title; + iconSource = tabStripItem.image ? tabStripItem.image.src : tabStripItem.iconSource; + tabItemSpec.title = tabStripItem.label ? tabStripItem.label.text : tabStripItem.title; if (iconSource) { if (iconSource.indexOf(RESOURCE_PREFIX) === 0) { @@ -305,15 +303,15 @@ function createTabItemSpec(item: TabStripItem): org.nativescript.widgets.TabItem } } else { let is = new ImageSource(); - if (isFontIconURI(item.iconSource)) { - const fontIconCode = item.iconSource.split("//")[1]; - const font = item.style.fontInternal; - const color = item.style.color; + if (isFontIconURI(tabStripItem.iconSource)) { + const fontIconCode = tabStripItem.iconSource.split("//")[1]; + const font = tabStripItem.style.fontInternal; + const color = tabStripItem.style.color; is = fromFontIconCode(fontIconCode, font, color); } else { - is = fromFileOrResource(item.iconSource); + is = fromFileOrResource(tabStripItem.iconSource); } - + if (is) { // TODO: Make this native call that accepts string so that we don't load Bitmap in JS. tabItemSpec.iconDrawable = new android.graphics.drawable.BitmapDrawable(application.android.context.getResources(), is.android); diff --git a/tns-platform-declarations/package.json b/tns-platform-declarations/package.json index 5ee16ea26..f3f3ebbc0 100644 --- a/tns-platform-declarations/package.json +++ b/tns-platform-declarations/package.json @@ -1,6 +1,6 @@ { "name": "tns-platform-declarations", - "version": "6.0.0", + "version": "6.0.1", "description": "Platform-specific TypeScript declarations for NativeScript for accessing native objects", "main": "", "scripts": {