Browse Source

Minor ViewPagerScreen refactor

Guy Carmeli 8 years ago
parent
commit
e5093a727a

+ 12
- 3
android/app/src/main/java/com/reactnativenavigation/screens/ViewPagerScreen.java View File

6
 import android.support.v7.app.AppCompatActivity;
6
 import android.support.v7.app.AppCompatActivity;
7
 import android.view.View;
7
 import android.view.View;
8
 import android.view.ViewGroup;
8
 import android.view.ViewGroup;
9
-import android.widget.RelativeLayout;
10
 
9
 
11
 import com.reactnativenavigation.params.ScreenParams;
10
 import com.reactnativenavigation.params.ScreenParams;
12
 import com.reactnativenavigation.params.TopTabParams;
11
 import com.reactnativenavigation.params.TopTabParams;
30
     @Override
29
     @Override
31
     protected void createContent() {
30
     protected void createContent() {
32
         TabLayout tabLayout = topBar.initTabs();
31
         TabLayout tabLayout = topBar.initTabs();
33
-        contentViews = new ArrayList<>();
32
+        createViewPager();
33
+        addPages();
34
+        setupViewPager(tabLayout);
35
+    }
36
+
37
+    private void createViewPager() {
34
         viewPager = new ViewPager(getContext());
38
         viewPager = new ViewPager(getContext());
35
         viewPager.setOffscreenPageLimit(99);
39
         viewPager.setOffscreenPageLimit(99);
36
-        RelativeLayout.LayoutParams lp = new LayoutParams(MATCH_PARENT, MATCH_PARENT);
40
+        LayoutParams lp = new LayoutParams(MATCH_PARENT, MATCH_PARENT);
37
         if (screenParams.styleParams.drawScreenBelowTopBar) {
41
         if (screenParams.styleParams.drawScreenBelowTopBar) {
38
             lp.addRule(BELOW, topBar.getId());
42
             lp.addRule(BELOW, topBar.getId());
39
         }
43
         }
40
         addView(viewPager, lp);
44
         addView(viewPager, lp);
45
+    }
41
 
46
 
47
+    private void addPages() {
48
+        contentViews = new ArrayList<>();
42
         for (TopTabParams topTabParam : screenParams.topTabParams) {
49
         for (TopTabParams topTabParam : screenParams.topTabParams) {
43
             ContentView contentView = new ContentView(getContext(),
50
             ContentView contentView = new ContentView(getContext(),
44
                     topTabParam.screenId,
51
                     topTabParam.screenId,
47
             addContent(contentView);
54
             addContent(contentView);
48
             contentViews.add(contentView);
55
             contentViews.add(contentView);
49
         }
56
         }
57
+    }
50
 
58
 
59
+    private void setupViewPager(TabLayout tabLayout) {
51
         ContentViewPagerAdapter adapter =
60
         ContentViewPagerAdapter adapter =
52
                 new ContentViewPagerAdapter(viewPager, contentViews, screenParams.topTabParams);
61
                 new ContentViewPagerAdapter(viewPager, contentViews, screenParams.topTabParams);
53
         viewPager.setAdapter(adapter);
62
         viewPager.setAdapter(adapter);

+ 2
- 1
android/app/src/main/java/com/reactnativenavigation/views/TopBar.java View File

22
         setId(ViewUtils.generateViewId());
22
         setId(ViewUtils.generateViewId());
23
     }
23
     }
24
 
24
 
25
-    public void addTitleBarAndSetButtons(List<TitleBarButtonParams> rightButtons, TitleBarLeftButtonParams leftButton,
25
+    public void addTitleBarAndSetButtons(List<TitleBarButtonParams> rightButtons,
26
+                                         TitleBarLeftButtonParams leftButton,
26
                                          TitleBarBackButtonListener titleBarBackButtonListener,
27
                                          TitleBarBackButtonListener titleBarBackButtonListener,
27
                                          String navigatorEventId) {
28
                                          String navigatorEventId) {
28
         titleBar = new TitleBar(getContext());
29
         titleBar = new TitleBar(getContext());