Daniel Zlotin 8 years ago
parent
commit
891e105b58

+ 18
- 10
android/app/src/main/java/com/reactnativenavigation/layouts/LayoutFactory.java View File

13
 
13
 
14
 public class LayoutFactory {
14
 public class LayoutFactory {
15
     public static class SideMenuParams {
15
     public static class SideMenuParams {
16
-        private boolean enabled;
16
+        private boolean enabled = false;
17
     }
17
     }
18
 
18
 
19
     public static class BottomTabsParams {
19
     public static class BottomTabsParams {
20
-        private boolean enabled;
20
+        private boolean enabled = false;
21
     }
21
     }
22
 
22
 
23
     public static class Params {
23
     public static class Params {
24
-        private SideMenuParams sideMenu;
25
-        private BottomTabsParams bottomTabs;
24
+        private SideMenuParams sideMenu = new SideMenuParams();
25
+        private BottomTabsParams bottomTabs = new BottomTabsParams();
26
     }
26
     }
27
 
27
 
28
     public static Layout create(Activity activity, Params params) {
28
     public static Layout create(Activity activity, Params params) {
29
         LinearLayout root = createRoot(activity);
29
         LinearLayout root = createRoot(activity);
30
         FrameLayout content = createContent(activity);
30
         FrameLayout content = createContent(activity);
31
+        addContentWithMenuIfNeeded(activity, params, root, content);
32
+        addBottomTabsIfNeeded(activity, params, root);
33
+
34
+        return null;
35
+    }
36
+
37
+    private static void addBottomTabsIfNeeded(Activity activity, Params params, LinearLayout root) {
38
+        if (params.bottomTabs.enabled) {
39
+            AHBottomNavigation bottomTabs = createBottomTabs(activity);
40
+            root.addView(bottomTabs, new LinearLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT));
41
+        }
42
+    }
43
+
44
+    private static void addContentWithMenuIfNeeded(Activity activity, Params params, LinearLayout root, FrameLayout content) {
31
         if (params.sideMenu.enabled) {
45
         if (params.sideMenu.enabled) {
32
             DrawerLayout sideMenu = createSideMenu(activity, content);
46
             DrawerLayout sideMenu = createSideMenu(activity, content);
33
             root.addView(sideMenu, new LinearLayout.LayoutParams(MATCH_PARENT, 0, 1));
47
             root.addView(sideMenu, new LinearLayout.LayoutParams(MATCH_PARENT, 0, 1));
34
         } else {
48
         } else {
35
             root.addView(content, new LinearLayout.LayoutParams(MATCH_PARENT, 0, 1));
49
             root.addView(content, new LinearLayout.LayoutParams(MATCH_PARENT, 0, 1));
36
         }
50
         }
37
-        if (params.bottomTabs.enabled) {
38
-            AHBottomNavigation bottomTabs = createBottomTabs(activity);
39
-            root.addView(bottomTabs, new LinearLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT));
40
-        }
41
-
42
-        return null;
43
     }
51
     }
44
 
52
 
45
     private static AHBottomNavigation createBottomTabs(Activity activity) {
53
     private static AHBottomNavigation createBottomTabs(Activity activity) {