Przeglądaj źródła

Pass header height as style param from Js

consider changing this later on
Guy Carmeli 8 lat temu
rodzic
commit
758c7414ff

+ 1
- 0
android/app/src/main/java/com/reactnativenavigation/params/CollapsingTopBarParams.java Wyświetl plik

7
 public class CollapsingTopBarParams {
7
 public class CollapsingTopBarParams {
8
     public @Nullable String imageUri;
8
     public @Nullable String imageUri;
9
     public @Nullable String reactViewId;
9
     public @Nullable String reactViewId;
10
+    public int reactViewHeight;
10
     public StyleParams.Color scrimColor;
11
     public StyleParams.Color scrimColor;
11
     public CollapseBehaviour collapseBehaviour;
12
     public CollapseBehaviour collapseBehaviour;
12
 
13
 

+ 1
- 0
android/app/src/main/java/com/reactnativenavigation/params/parsers/CollapsingTopBarParamsParser.java Wyświetl plik

28
         CollapsingTopBarParams result = new CollapsingTopBarParams();
28
         CollapsingTopBarParams result = new CollapsingTopBarParams();
29
         result.imageUri = params.getString("collapsingToolBarImage", null);
29
         result.imageUri = params.getString("collapsingToolBarImage", null);
30
         result.reactViewId = params.getString("collapsingToolBarComponent", null);
30
         result.reactViewId = params.getString("collapsingToolBarComponent", null);
31
+        result.reactViewHeight = params.getInt("collapsingToolBarComponentHeight");
31
         result.scrimColor = getColor(params, "collapsingToolBarCollapsedColor", new StyleParams.Color(Color.WHITE));
32
         result.scrimColor = getColor(params, "collapsingToolBarCollapsedColor", new StyleParams.Color(Color.WHITE));
32
         result.collapseBehaviour = getCollapseBehaviour();
33
         result.collapseBehaviour = getCollapseBehaviour();
33
         return result;
34
         return result;

+ 14
- 4
android/app/src/main/java/com/reactnativenavigation/views/collapsingToolbar/CollapsingTopBar.java Wyświetl plik

14
 
14
 
15
 public class CollapsingTopBar extends TopBar implements CollapsingView {
15
 public class CollapsingTopBar extends TopBar implements CollapsingView {
16
     private CollapsingTopBarBackground collapsingTopBarBackground;
16
     private CollapsingTopBarBackground collapsingTopBarBackground;
17
-    private CollapsingTopBarReactView headerView;
17
+    private CollapsingTopBarReactView header;
18
     private ScrollListener scrollListener;
18
     private ScrollListener scrollListener;
19
     private float finalCollapsedTranslation;
19
     private float finalCollapsedTranslation;
20
     private CollapsingTopBarParams params;
20
     private CollapsingTopBarParams params;
21
     private final ViewCollapser viewCollapser;
21
     private final ViewCollapser viewCollapser;
22
     private final int topBarHeight;
22
     private final int topBarHeight;
23
+    private String title;
23
 
24
 
24
     public CollapsingTopBar(Context context, final CollapsingTopBarParams params) {
25
     public CollapsingTopBar(Context context, final CollapsingTopBarParams params) {
25
         super(context);
26
         super(context);
48
         this.scrollListener = scrollListener;
49
         this.scrollListener = scrollListener;
49
     }
50
     }
50
 
51
 
52
+    @Override
53
+    public void setTitle(String title) {
54
+        if (params.hasReactView()) {
55
+            this.title = title;
56
+        } else {
57
+            super.setTitle(title);
58
+        }
59
+    }
60
+
51
     private void createBackgroundImage(CollapsingTopBarParams params) {
61
     private void createBackgroundImage(CollapsingTopBarParams params) {
52
         if (params.hasBackgroundImage()) {
62
         if (params.hasBackgroundImage()) {
53
             collapsingTopBarBackground = new CollapsingTopBarBackground(getContext(), params);
63
             collapsingTopBarBackground = new CollapsingTopBarBackground(getContext(), params);
58
 
68
 
59
     private void createReactView(CollapsingTopBarParams params) {
69
     private void createReactView(CollapsingTopBarParams params) {
60
         if (params.hasReactView()) {
70
         if (params.hasReactView()) {
61
-            headerView = new CollapsingTopBarReactView(getContext(),
71
+            header = new CollapsingTopBarReactView(getContext(),
62
                     params.reactViewId,
72
                     params.reactViewId,
63
                     new NavigationParams(Bundle.EMPTY));
73
                     new NavigationParams(Bundle.EMPTY));
64
-            LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, (int) ViewUtils.convertDpToPixel(400));
65
-            titleBarAndContextualMenuContainer.addView(headerView, lp);
74
+            LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, (int) ViewUtils.convertDpToPixel(params.reactViewHeight));
75
+            titleBarAndContextualMenuContainer.addView(header, lp);
66
         }
76
         }
67
     }
77
     }
68
 
78
 

+ 1
- 0
src/deprecated/platformSpecificDeprecated.android.js Wyświetl plik

127
     topBarElevationShadowEnabled: originalStyleObject.topBarElevationShadowEnabled,
127
     topBarElevationShadowEnabled: originalStyleObject.topBarElevationShadowEnabled,
128
     collapsingToolBarImage: originalStyleObject.collapsingToolBarImage,
128
     collapsingToolBarImage: originalStyleObject.collapsingToolBarImage,
129
     collapsingToolBarComponent: originalStyleObject.collapsingToolBarComponent,
129
     collapsingToolBarComponent: originalStyleObject.collapsingToolBarComponent,
130
+    collapsingToolBarComponentHeight: originalStyleObject.collapsingToolBarComponentHeight,
130
     collapsingToolBarCollapsedColor: processColor(originalStyleObject.collapsingToolBarCollapsedColor),
131
     collapsingToolBarCollapsedColor: processColor(originalStyleObject.collapsingToolBarCollapsedColor),
131
     titleBarHidden: originalStyleObject.navBarHidden,
132
     titleBarHidden: originalStyleObject.navBarHidden,
132
     titleBarHideOnScroll: originalStyleObject.navBarHideOnScroll,
133
     titleBarHideOnScroll: originalStyleObject.navBarHideOnScroll,