瀏覽代碼

Show hamburger icon if activity has a SideMenu

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

+ 3
- 3
android/app/src/main/java/com/reactnativenavigation/params/parsers/TitleBarLeftButtonParamsParser.java 查看文件

@@ -8,9 +8,9 @@ import com.reactnativenavigation.params.TitleBarLeftButtonParams;
8 8
 public class TitleBarLeftButtonParamsParser extends TitleBarButtonParamsParser {
9 9
 
10 10
     public TitleBarLeftButtonParams parseSingleButton(Bundle params) {
11
-        TitleBarLeftButtonParams backButtonParams = new TitleBarLeftButtonParams(super.parseSingleButton(params));
12
-        backButtonParams.iconState = getIconStateFromId(backButtonParams.eventId);
13
-        return backButtonParams;
11
+        TitleBarLeftButtonParams leftButtonParams = new TitleBarLeftButtonParams(super.parseSingleButton(params));
12
+        leftButtonParams.iconState = getIconStateFromId(leftButtonParams.eventId);
13
+        return leftButtonParams;
14 14
     }
15 15
 
16 16
     private MaterialMenuDrawable.IconState getIconStateFromId(String id) {

+ 13
- 3
src/deprecated/platformSpecificDeprecated.android.js 查看文件

@@ -15,7 +15,7 @@ function startSingleScreenApp(params) {
15 15
     return;
16 16
   }
17 17
   addNavigatorParams(screen);
18
-  addNavigatorButtons(screen);
18
+  addNavigatorButtons(screen, params.drawer);
19 19
   addNavigationStyleParams(screen);
20 20
   screen.passProps = params.passProps;
21 21
 
@@ -298,7 +298,7 @@ function addNavigatorParams(screen, navigator = null, idx = '') {
298 298
   screen.navigatorEventID = screen.screenInstanceID + '_events';
299 299
 }
300 300
 
301
-function addNavigatorButtons(screen) {
301
+function addNavigatorButtons(screen, sideMenuParams) {
302 302
   const Screen = Navigation.getRegisteredScreen(screen.screen);
303 303
   Object.assign(screen, Screen.navigatorButtons);
304 304
 
@@ -316,7 +316,11 @@ function addNavigatorButtons(screen) {
316 316
     });
317 317
   }
318 318
 
319
-  const leftButton = getLeftButton(screen);
319
+  let leftButton = getLeftButton(screen);
320
+  debugger;
321
+  if (sideMenuParams && !leftButton) {
322
+    leftButton = createSideMenuButton();
323
+  }
320 324
   if (leftButton) {
321 325
     if (leftButton.icon) {
322 326
       const icon = resolveAssetSource(leftButton.icon);
@@ -334,6 +338,12 @@ function addNavigatorButtons(screen) {
334 338
   }
335 339
 }
336 340
 
341
+function createSideMenuButton() {
342
+  return {
343
+    id: "sideMenu"
344
+  };
345
+}
346
+
337 347
 function addTitleBarBackButtonIfNeeded(screen) {
338 348
   const leftButton = getLeftButton(screen);
339 349
   if (!leftButton) {