瀏覽代碼

convertNavigationStyleToScreenStyle

Guy Carmeli 8 年之前
父節點
當前提交
f8f3e9a0be

+ 0
- 1
android/app/src/main/java/com/reactnativenavigation/views/TitleBar.java 查看文件

1
 package com.reactnativenavigation.views;
1
 package com.reactnativenavigation.views;
2
 
2
 
3
 import android.content.Context;
3
 import android.content.Context;
4
-import android.graphics.Color;
5
 import android.support.v7.widget.Toolbar;
4
 import android.support.v7.widget.Toolbar;
6
 import android.view.Menu;
5
 import android.view.Menu;
7
 
6
 

+ 23
- 2
src/platformSpecific.android.js 查看文件

7
 const resolveAssetSource = require('react-native/Libraries/Image/resolveAssetSource');
7
 const resolveAssetSource = require('react-native/Libraries/Image/resolveAssetSource');
8
 
8
 
9
 function startApp(params) {
9
 function startApp(params) {
10
-  const screen = params.screen;
10
+  let screen = params.screen;
11
   if (!screen.screenId) {
11
   if (!screen.screenId) {
12
     console.error('startApp(params): screenId property must be supplied');
12
     console.error('startApp(params): screenId property must be supplied');
13
     return;
13
     return;
14
   }
14
   }
15
 
15
 
16
-  const actualScreen = Navigation.getRegisteredScreen(screen.screenId);
17
   screen.screenInstanceId = _.uniqueId('screenInstanceId');
16
   screen.screenInstanceId = _.uniqueId('screenInstanceId');
17
+  params.screen = convertNavigationStyleToScreenStyle(screen);
18
 
18
 
19
   NativeModules.NavigationReactModule.startApp(params);
19
   NativeModules.NavigationReactModule.startApp(params);
20
 }
20
 }
21
 
21
 
22
+function convertNavigationStyleToScreenStyle(screen) {
23
+  const navigatorStyle = screen.navigatorStyle;
24
+  if (!navigatorStyle) {
25
+    return screen;
26
+  }
27
+
28
+  screen.styleParams = {
29
+    statusBarColor: navigatorStyle.statusBarColor,
30
+    topBarColor: navigatorStyle.toolBarColor,
31
+    navigationBarColor: navigatorStyle.navigationBarColor,
32
+    titleBarHidden: navigatorStyle.navBarHidden,
33
+    backButtonHidden: navigatorStyle.backButtonHidden,
34
+    topTabsHidden: navigatorStyle.topTabsHidden,
35
+    bottomTabsHidden: navigatorStyle.tabBarHidden,
36
+    bottomTabsHiddenOnScroll: navigatorStyle.bottomTabsHiddenOnScroll
37
+  };
38
+
39
+  screen = _.omit(screen, ['navigatorStyle']);
40
+  return screen;
41
+}
42
+
22
 module.exports = {
43
 module.exports = {
23
   startApp
44
   startApp
24
 };
45
 };