Show a view on top of all the views (including native modals). It can be used like an overlay view.
npm install react-native-z-view react-native-screens
Note: react-native-screens is required for iOS.
import { ZView } from 'react-native-z-view'
<ZView>
<View>
<Text>This will be shown on top of all the views!<Text>
</View>
</ZView>
top
- To adjust top value. Similar totop
in position fixed. Accepts percentage and point values.left
- To adjust left value. Similar toleft
in position fixed. Accepts percentage and point values.bottom
- To adjust bottom value. Similar tobottom
in position fixed. Accepts percentage and point values.right
- To adjust right value. Similar toright
in position fixed. Accepts percentage and point values.touchable
(default:true
) - Setting it to false makes the entire ZView non-touchable which allows passing touch events to the behind view of ZView itself.
<ZView top={10} left={40}>
<View>
<Text>This will be shown on top of all the views!<Text>
</View>
</ZView>
import { Dimensions } from 'react-native'
const { width, height } = Dimensions.get('screen')
<ZView>
<View
style={{
width,
height,
backgroundColor: 'rgba(0, 0, 0, 0.5)'
}}
>
<Text>Full size overlay view</Text>
</View>
</ZView>
- React Native's Modal is great for modal usecases. It blocks the touch of behind views (which is expected from a Modal), so it is not a great solution for custom Toast, ToolTip or Popover that allow behind view touches.
- Multiple Modals don't work unless nested on iOS in react native. I have made a PR for the same.
- This component solves the above issues but it is not a replacement for RN's Modal component. Use this component when you face above issues.
- This component makes sure to appear on top of Native Modal on Android and iOS so it can be used in place of a custom Portal like solution.
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
Made with create-react-native-library