瀏覽代碼

Support hiding back button in Toolbar

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

+ 3
- 0
android/app/src/main/java/com/reactnativenavigation/core/objects/Screen.java 查看文件

@@ -39,6 +39,7 @@ public class Screen extends JsonObject implements Serializable {
39 39
     private static final String KEY_NAVIGATION_BAR_COLOR = "navigationBarColor";
40 40
     private static final String KEY_NAV_BAR_BUTTON_COLOR = "navBarButtonColor";
41 41
     private static final String KEY_NAV_BAR_TEXT_COLOR = "navBarTextColor";
42
+    private static final String KEY_BACK_BUTTON_HIDDEN = "backButtonHidden";
42 43
     private static final String KEY_TAB_NORMAL_TEXT_COLOR = "tabNormalTextColor";
43 44
     private static final String KEY_TAB_SELECTED_TEXT_COLOR = "tabSelectedTextColor";
44 45
     private static final String KEY_TAB_INDICATOR_COLOR = "tabIndicatorColor";
@@ -52,6 +53,7 @@ public class Screen extends JsonObject implements Serializable {
52 53
     public final String navigatorEventId;
53 54
     public final String icon;
54 55
     public ArrayList<Button> buttons;
56
+    public final boolean backButtonHidden;
55 57
     public HashMap<String, Object> passedProps = new HashMap<>();
56 58
 
57 59
     // Navigation styling
@@ -82,6 +84,7 @@ public class Screen extends JsonObject implements Serializable {
82 84
             passedProps = ((ReadableNativeMap) screen.getMap(KEY_PROPS)).toHashMap();
83 85
         }
84 86
         buttons = getButtons(screen);
87
+        backButtonHidden = getBoolean(screen, KEY_BACK_BUTTON_HIDDEN);
85 88
         setToolbarStyle(screen);
86 89
     }
87 90
 

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

@@ -232,7 +232,7 @@ public class RnnToolBar extends Toolbar {
232 232
         if (hasDrawer && mDrawerIcon == null) {
233 233
             navArrow = (DrawerArrowDrawable) this.getNavigationIcon();
234 234
         } else {
235
-            if (isBack) {
235
+            if (isBack && !screen.backButtonHidden) {
236 236
                 navArrow = new DrawerArrowDrawable(ContextProvider.getActivityContext());
237 237
             } else if (hasDrawer) {
238 238
                 navIcon = mDrawerIcon;