Przeglądaj źródła

Show hamburger icon if activity has a SideMenu

Guy Carmeli 8 lat temu
rodzic
commit
ee871f32ed

+ 3
- 3
android/app/src/main/java/com/reactnativenavigation/params/parsers/TitleBarLeftButtonParamsParser.java Wyświetl plik

8
 public class TitleBarLeftButtonParamsParser extends TitleBarButtonParamsParser {
8
 public class TitleBarLeftButtonParamsParser extends TitleBarButtonParamsParser {
9
 
9
 
10
     public TitleBarLeftButtonParams parseSingleButton(Bundle params) {
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
     private MaterialMenuDrawable.IconState getIconStateFromId(String id) {
16
     private MaterialMenuDrawable.IconState getIconStateFromId(String id) {

+ 13
- 3
src/deprecated/platformSpecificDeprecated.android.js Wyświetl plik

15
     return;
15
     return;
16
   }
16
   }
17
   addNavigatorParams(screen);
17
   addNavigatorParams(screen);
18
-  addNavigatorButtons(screen);
18
+  addNavigatorButtons(screen, params.drawer);
19
   addNavigationStyleParams(screen);
19
   addNavigationStyleParams(screen);
20
   screen.passProps = params.passProps;
20
   screen.passProps = params.passProps;
21
 
21
 
298
   screen.navigatorEventID = screen.screenInstanceID + '_events';
298
   screen.navigatorEventID = screen.screenInstanceID + '_events';
299
 }
299
 }
300
 
300
 
301
-function addNavigatorButtons(screen) {
301
+function addNavigatorButtons(screen, sideMenuParams) {
302
   const Screen = Navigation.getRegisteredScreen(screen.screen);
302
   const Screen = Navigation.getRegisteredScreen(screen.screen);
303
   Object.assign(screen, Screen.navigatorButtons);
303
   Object.assign(screen, Screen.navigatorButtons);
304
 
304
 
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
   if (leftButton) {
324
   if (leftButton) {
321
     if (leftButton.icon) {
325
     if (leftButton.icon) {
322
       const icon = resolveAssetSource(leftButton.icon);
326
       const icon = resolveAssetSource(leftButton.icon);
334
   }
338
   }
335
 }
339
 }
336
 
340
 
341
+function createSideMenuButton() {
342
+  return {
343
+    id: "sideMenu"
344
+  };
345
+}
346
+
337
 function addTitleBarBackButtonIfNeeded(screen) {
347
 function addTitleBarBackButtonIfNeeded(screen) {
338
   const leftButton = getLeftButton(screen);
348
   const leftButton = getLeftButton(screen);
339
   if (!leftButton) {
349
   if (!leftButton) {