Daniel Zlotin 8 yıl önce
ebeveyn
işleme
891e105b58

+ 18
- 10
android/app/src/main/java/com/reactnativenavigation/layouts/LayoutFactory.java Dosyayı Görüntüle

@@ -13,33 +13,41 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
13 13
 
14 14
 public class LayoutFactory {
15 15
     public static class SideMenuParams {
16
-        private boolean enabled;
16
+        private boolean enabled = false;
17 17
     }
18 18
 
19 19
     public static class BottomTabsParams {
20
-        private boolean enabled;
20
+        private boolean enabled = false;
21 21
     }
22 22
 
23 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 28
     public static Layout create(Activity activity, Params params) {
29 29
         LinearLayout root = createRoot(activity);
30 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 45
         if (params.sideMenu.enabled) {
32 46
             DrawerLayout sideMenu = createSideMenu(activity, content);
33 47
             root.addView(sideMenu, new LinearLayout.LayoutParams(MATCH_PARENT, 0, 1));
34 48
         } else {
35 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 53
     private static AHBottomNavigation createBottomTabs(Activity activity) {