diff --git a/packages/react-navigation/flow/react-navigation.js b/packages/react-navigation/flow/react-navigation.js index 9fd23f88..df4e7166 100644 --- a/packages/react-navigation/flow/react-navigation.js +++ b/packages/react-navigation/flow/react-navigation.js @@ -48,6 +48,15 @@ declare module 'react-navigation' { // react-native/Libraries/Animated/src/nodes/AnimatedValue.js declare type AnimatedValue = Object; + declare type HeaderForceInset = { + horizontal?: string, + vertical?: string, + left?: string, + right?: string, + top?: string, + bottom?: string, + }; + /** * Next, all the type declarations */ @@ -341,6 +350,7 @@ declare module 'react-navigation' { headerPressColorAndroid?: string, headerRight?: React$Node, headerStyle?: ViewStyleProp, + headerForceInset?: HeaderForceInset, headerBackground?: React$Node | React$ElementType, gesturesEnabled?: boolean, gestureResponseDistance?: { vertical?: number, horizontal?: number }, diff --git a/packages/react-navigation/src/views/Header/Header.js b/packages/react-navigation/src/views/Header/Header.js index 8c8d5488..789bba67 100644 --- a/packages/react-navigation/src/views/Header/Header.js +++ b/packages/react-navigation/src/views/Header/Header.js @@ -473,11 +473,11 @@ class Header extends React.PureComponent { safeHeaderStyle, ]; + const { headerForceInset } = options; + const forceInset = headerForceInset || { top: 'always', bottom: 'never' }; + return ( - + {options.headerBackground} {appBar}