Browse Source

Set BottomTabs background color only if it is defined

This change means that in a tab based app, when pushing a screen
which did not declare `tabBarBackgroundColor` - the BottomTabs color
will persist from the previous screen and not be set to the default
color which is white. This eliminates the unwanted BottomTabs
background color change in this specific use case.

closes #409
Guy Carmeli 8 years ago
parent
commit
ec01544bd2

+ 1
- 1
android/app/src/main/java/com/reactnativenavigation/layouts/BottomTabsLayout.java View File

332
     }
332
     }
333
 
333
 
334
     private class ScreenStackNotFoundException extends RuntimeException {
334
     private class ScreenStackNotFoundException extends RuntimeException {
335
-        public ScreenStackNotFoundException(String navigatorId) {
335
+        ScreenStackNotFoundException(String navigatorId) {
336
             super(navigatorId);
336
             super(navigatorId);
337
         }
337
         }
338
     }
338
     }

+ 0
- 1
android/app/src/main/java/com/reactnativenavigation/params/StyleParams.java View File

61
 
61
 
62
     public boolean drawScreenAboveBottomTabs;
62
     public boolean drawScreenAboveBottomTabs;
63
 
63
 
64
-    public Color snackbarTextColor;
65
     public Color snackbarButtonColor;
64
     public Color snackbarButtonColor;
66
 
65
 
67
     public boolean bottomTabsHidden;
66
     public boolean bottomTabsHidden;

+ 3
- 3
android/app/src/main/java/com/reactnativenavigation/views/BottomTabs.java View File

35
     }
35
     }
36
 
36
 
37
     public void setStyleFromScreen(StyleParams params) {
37
     public void setStyleFromScreen(StyleParams params) {
38
-        setBackgroundColor(params.bottomTabsColor);
39
-
38
+        if (params.bottomTabsColor.hasColor()) {
39
+            setBackgroundColor(params.bottomTabsColor);
40
+        }
40
         if (params.bottomTabsButtonColor.hasColor()) {
41
         if (params.bottomTabsButtonColor.hasColor()) {
41
             setInactiveColor(params.bottomTabsButtonColor.getColor());
42
             setInactiveColor(params.bottomTabsButtonColor.getColor());
42
         }
43
         }
43
-
44
         if (params.selectedBottomTabsButtonColor.hasColor()) {
44
         if (params.selectedBottomTabsButtonColor.hasColor()) {
45
             setAccentColor(params.selectedBottomTabsButtonColor.getColor());
45
             setAccentColor(params.selectedBottomTabsButtonColor.getColor());
46
         }
46
         }