Images etc in Full Screen Lightbox Popovers for React Native

Overview

react-native-lightbox

Installation

yarn add react-native-lightbox

Usage

navigator property is optional but recommended on iOS, see next section for Navigator configuration.

import Lightbox from 'react-native-lightbox';

const LightboxView ({ navigator }) => (
  <Lightbox navigator={navigator}>
    <Image
      style={{ height: 300 }}
      source={{ uri: 'http://knittingisawesome.com/wp-content/uploads/2012/12/cat-wearing-a-reindeer-hat1.jpg' }}
    />
  </Lightbox>
);

Navigator setup/Android support

For android support you must pass a reference to a Navigator since it does not yet have the Modal component and is not on the official todo list. See the Example project for a complete example.

const renderScene = (route, navigator) => {
  const Component = route.component;

  return (
    <Component navigator={navigator} route={route} {...route.passProps} />
  );
};

const MyApp = () => (
  <Navigator
    ref="navigator"
    style={{ flex: 1 }}
    renderScene={renderScene}
    initialRoute={{
      component: LightboxView,
    }}
  />
);

Properties

Prop Type Description
activeProps object Optional set of props applied to the content component when in lightbox mode. Usable for applying custom styles or higher resolution image source.
renderHeader(close) function Custom header instead of default with X button
renderContent function Custom lightbox content instead of default child content
willClose function Triggered before lightbox is closed
onClose function Triggered when lightbox is closed
onOpen function Triggered when lightbox is opened
didOpen function Triggered after lightbox is opened
underlayColor string Color of touchable background, defaults to black
backgroundColor string Color of lightbox background, defaults to black
swipeToDismiss bool Enables gestures to dismiss the fullscreen mode by swiping up or down, defaults to true.
springConfig object Animated.spring configuration, defaults to { tension: 30, friction: 7 }.

Demo

Demo

Example

Check full example in the Example folder.

License

MIT License. ยฉ Joel Arvidsson

Comments
  • Is this repo still maintain ?

    Is this repo still maintain ?

    @oblador Is this repository still alive ?

    I can see there is 12 Pull Request waiting for review and the repo hasn't been updated since the 22 Sept 2017.

    You have 1 500+ stars also, which means people like this project. I think it would be a pity to let such a cool project dying.

    opened by StevenMasini 7
  • Screen rotation issue

    Screen rotation issue

    Currently, if you rotate your screen, the lightbox maintains the original orientation dimensions resulting in a portrait image being rendered on a landscape screen (and vice versa). This is because the window dimensions are set when the component loads.
    My changes pull the dimensions into the component state and re-evaluate them when the orientation changes. I've attached some gifs to demonstrate the 'before' and 'after'.

    Before: before

    After: after

    FWIW, this doesn't seem to have any effect on Android. On my Android simulator, the image just closes when you rotate the screen.

    opened by jholton 6
  • Is this module working?

    Is this module working?

    Hello,

    I've just tried using this module with my app. I'm using RN v0.19

    When I wrapped my <Image /> with <Lightbox> I got a white space instead of the photo and nothing happen when i tap on it.

    I just copied the example from the read me file. Does it work with 0.19?

    opened by ranyefet 5
  • Several changes

    Several changes

    • New React Native 0.62.2 example
    • Updated LightBox e LightBoxOverlay to functional components and hooks
    • Changed TouchableHighlight to TouchableOpacity
    • Fix jumping closing animation on Android
    • Giving the X close button more space from the borders
    • Fixed useNativeDriver is now required warning
    • Added useNativeDriver true where it is possible
    opened by ricardovcorrea 4
  • Off-center in lightbox mode?

    Off-center in lightbox mode?

    Not sure if a real issue, here's what I'm seeing: capture

    I'm using Expo, I think if the status bar at the top (the OS status bar) is transparent the black misses a bar at the bottom :/

    opened by psyanite 4
  • Add didOpen/willClose

    Add didOpen/willClose

    In my app I wanted to remove some UI before the lightbox was closed, but onClose fires after the animation is done. So I added a couple of hooks for didOpen and willClose.

    Ideally I'd rather have all the callbacks named consistently - willOpen / onOpen, willClose / onClose - but they're currently named inconsistently - onOpen fires before the event and onClose fires afterwards.

    opened by elliottkember 4
  • how can I use react-native-lightbox in a multi page APP?

    how can I use react-native-lightbox in a multi page APP?

    the code is below

    /**
     * Sample React Native App
     * https://github.com/facebook/react-native
     */
    'use strict';
    
    var React = require('react-native');
    var {
      AppRegistry,
      StyleSheet,
      Navigator,
      ScrollView,
      Image,
      View,
      Text,
      Dimensions,
      TouchableOpacity,
    } = React;
    
    var Lightbox = require('react-native-lightbox');
    
    var WINDOW_WIDTH = Dimensions.get('window').width;
    var BASE_PADDING = 10;
    
    var LightboxView = React.createClass({
      render: function() {
        return (
          <ScrollView style={styles.container}>
            <Lightbox
              navigator={this.props.navigator}
              renderHeader={close => (
                <TouchableOpacity onPress={close}>
                  <Text style={styles.closeButton}>Close</Text>
                </TouchableOpacity>
              )}>
              <View style={styles.customHeaderBox}>
                <Text>I have a custom header</Text>
              </View>
            </Lightbox>
    
            <TouchableOpacity onPress={() => ????????????}>
              <Text>change</Text>
            </TouchableOpacity>
          </ScrollView>
        );
      },
    });
    
    var LightboxView1 = React.createClass({
    
      render: function() {
        return (
          <ScrollView style={styles.container}>
            <View style={styles.text}><Text>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </Text></View>
            <Lightbox underlayColor="white" navigator={this.props.navigator}>
              <Image
                style={styles.contain}
                resizeMode="contain"
                source={{ uri: 'http://www.yayomg.com/wp-content/uploads/2014/04/yayomg-pig-wearing-party-hat.jpg' }}
              />
            </Lightbox>
            <TouchableOpacity onPress={() => ????????????}>
              <Text>change</Text>
            </TouchableOpacity>
          </ScrollView>
        );
      },
    });
    
    var Example = React.createClass({
      renderScene: function(route, navigator) {
        var Component = route.component;
        return (
          <Component navigator={navigator} route={route} {...route.passProps} />
        );
    
        ????????????????
      },
    
      render: function() {
        return (
          <Navigator
            ref="navigator"
            style={styles.navigator}
            renderScene={this.renderScene}
            initialRoute={{
              component: LightboxView1,
            }}
          />
        );
      }
    });
    
    var styles = StyleSheet.create({
      navigator: {
        flex: 1,
      },
      container: {
        paddingHorizontal: BASE_PADDING,
      },
      closeButton: {
        color: 'white',
        borderWidth: 1,
        borderColor: 'white',
        padding: 8,
        borderRadius: 3,
        textAlign: 'center',
        margin: 10,
        alignSelf: 'flex-end',
      },
      customHeaderBox: {
        height: 150,
        backgroundColor: '#6C7A89',
        justifyContent: 'center',
        alignItems: 'center',
      },
      row: {
        flexDirection: 'row',
        marginLeft: -BASE_PADDING,
        marginRight: -BASE_PADDING,
      },
      col: {
        flex: 1,
      },
      square: {
        width: WINDOW_WIDTH/2,
        height: WINDOW_WIDTH/2,
        justifyContent: 'center',
        alignSelf: 'center',
      },
      squareFirst: {
        backgroundColor: '#C0392B',
      },
      squareSecond: {
        backgroundColor: '#019875',
      },
      squareText: {
        textAlign: 'center',
        color: 'white',
      },
      contain: {
        flex: 1,
        height: 150,
      },
      text: {
        marginVertical: BASE_PADDING*2,
      },
    });
    
    AppRegistry.registerComponent('Example', () => Example);
    
    

    how can i change scene between LightboxView1 and LightboxView? thx

    opened by h3l 4
  • meet a warning:Failed prop type: Required prop `onRequestClose` was not specified in `Modal`.

    meet a warning:Failed prop type: Required prop `onRequestClose` was not specified in `Modal`.

    A month ago when I used haven't happened this warning, yesterday I review my pic list component, this warning alert, again and again, no matter I try to catch the warning, not work.

    warning as follow

    02-13 00:20:08.724 2102-31244/com.electromechanicalfamily W/ReactNativeJS: Warning: Failed prop type: Required prop `onRequestClose` was not specified in `Modal`.
                                                                                   in Modal (created by LightboxOverlay)
                                                                                   in LightboxOverlay (created by Lightbox)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by Lightbox)
                                                                                   in Lightbox (created by StaticRenderer)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by StaticRenderer)
                                                                                   in StaticRenderer (created by ListView)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by ScrollView)
                                                                                   in RCTScrollView (created by ScrollView)
                                                                                   in ScrollView (created by ListView)
                                                                                   in ListView (created by StaticRenderer)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by StaticRenderer)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by StaticRenderer)
                                                                                   in StaticRenderer (created by ListView)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by ScrollView)
                                                                                   in RCTScrollView (created by ScrollView)
                                                                                   in ScrollView (created by ListView)
                                                                                   in ListView (created by ListView)
                                                                                   in ListView (created by Test)
                                                                                   in Test (created by BottomTap)
                                                                                   in TabNavigatorItem (created by BottomTap)
                                                                                   in StaticContainer (created by SceneContainer)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by SceneContainer)
                                                                                   in SceneContainer (created by TabNavigator)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by TabNavigator)
                                                                                   in TabNavigator (created by BottomTap)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by DrawerLayoutAndroid)
                                                                                   in AndroidDrawerLayout (created by DrawerLayoutAndroid)
                                                                                   in DrawerLayoutAndroid (created by BottomTap)
                                                                                   in BottomTap (created by Navigator)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by Navigator)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by Navigator)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by Navigator)
                                                                                   in Navigator (created by ElectromechanicalFamily)
                                                                                   in ElectromechanicalFamily (created by Root(ElectromechanicalFamily))
                                                                                   in StaticContainer (created by Root(ElectromechanicalFamily))
                                                                                   in RCTView (created by View)
                                                                                   in View (created by Root(ElectromechanicalFamily))
                                                                                   in Root(ElectromechanicalFamily)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by AppContainer)
                                                                                   in RCTView (created by View)
                                                                                   in View (created by AppContainer)
                                                                                   in AppContainer
    

    my code

    export default class LittleGround extends Component{
        renderScene(route, navigator) {
            var Component = route.component;
    
            return (
                <Component navigator={navigator} route={route} {...route.passProps} />
            );
        }
    
        render() {
            return (
                <Navigator
                    ref="navigator"
                    style={{ flex: 1 }}
                    renderScene={this.renderScene.bind(this)}
                    initialRoute={{
                        component: Test,
                    }}
                />
            );
        }
    }
    
    .....
    
     picList(rowData, sectionID, rowID){
            var picUri = BASEURL+'/message/'+rowData;
            try{
                if(rowData!==null){
                    return (
                        <View>
                            <Lightbox style={styles.itemContainer} springConfig={{tension: 50, friction: 5}} renderContent={this.renderCarousel.bind(this,picUri)}>
                                <Image
                                    style={styles.imageItem}
                                    source={{uri:picUri}}
                                    resizeMode={'cover'}
                                />
                            </Lightbox>
                        </View>
                    );
                }
            }catch(e){
                console.log(e);
            }
            return null
        }
    
        renderCarousel(uri) {
            return (
                <Carousel style={{ width: device.width, height: device.height }}>
                    <Image
                        style={{flex: 1}}
                        resizeMode="contain"
                        source={{ uri: uri }}
                    />
                </Carousel>
            );
        }
    

    Everything goes well, but the warning can't ne solved.

    opened by greatzues 3
  • _this.props.navigator.getCurrentRoutes() is not a function

    _this.props.navigator.getCurrentRoutes() is not a function

    I am facing an issue with navigator. I see that to get the current route light box have used var routes = this.props.navigator.getCurrentRoutes();

    but i see that this.props.navigato.navigationContext having CurrentRoute, am I missing something here I am using NavigatorIOS and passing this.props.navigator

    opened by iit2008047 3
  • Setting width and height on activeProps has no effect

    Setting width and height on activeProps has no effect

    I have a thumbnail image in a list of items:

    <Lightbox activeProps={{width: 300, height: 300}}>
        <Image style={{ width: 40, height: 40, marginRight: 5 }} source={{uri: this.props.image}}/>
    </Lightbox>
    

    When I click on the image, it just places the 40x40 image on a black background. My understanding was that setting a new width and height on activeProps should scale the image up.

    I'm using RN 0.22.2, and RN Lightbox 0.6.0

    opened by greatwitenorth 3
  • Allow non-native React component children

    Allow non-native React component children

    There is a check on child elements of TouchableHighlight that requires the children to be native components. In order to allow for non-native children, I've added a view wrapper.

    I am wondering if you might consider making this change to support custom React components as children of the Lightbox component.

    UPDATE: Only TouchableHighlight has this check.

    opened by ethul 3
  • Animated.event now requires a second argument for options at LightboxOverlay

    Animated.event now requires a second argument for options at LightboxOverlay

    Hi! ๐Ÿ‘‹

    Here is the diff that solved my problem:

    diff --git a/node_modules/react-native-lightbox/LightboxOverlay.js b/node_modules/react-native-lightbox/LightboxOverlay.js
    index 9e01f9a..a84fd9d 100644
    --- a/node_modules/react-native-lightbox/LightboxOverlay.js
    +++ b/node_modules/react-native-lightbox/LightboxOverlay.js
    @@ -99,7 +99,8 @@ export default class LightboxOverlay extends Component {
           onPanResponderMove: Animated.event([
             null,
             { dy: this.state.pan }
    -      ]),
    +      ],
    +        { useNativeDriver: false }),
           onPanResponderTerminationRequest: (evt, gestureState) => true,
           onPanResponderRelease: (evt, gestureState) => {
             if(Math.abs(gestureState.dy) > DRAG_DISMISS_THRESHOLD) {
    
    opened by CarmineRumma 0
  • Bump tmpl from 1.0.4 to 1.0.5 in /Example

    Bump tmpl from 1.0.4 to 1.0.5 in /Example

    Bumps tmpl from 1.0.4 to 1.0.5.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump tar from 2.2.1 to 2.2.2 in /Example

    Bump tar from 2.2.1 to 2.2.2 in /Example

    Bumps tar from 2.2.1 to 2.2.2.

    Commits
    • 523c5c7 2.2.2
    • 7ecef07 Bump fstream to fix hardlink overwriting vulnerability
    • 9fc84b9 Use {} for hardlink tracking instead of []
    • 15e59f1 Only track previously seen hardlinks
    • 4f85851 Ignore potentially unsafe files
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump hosted-git-info from 2.5.0 to 2.8.9 in /Example

    Bump hosted-git-info from 2.5.0 to 2.8.9 in /Example

    Bumps hosted-git-info from 2.5.0 to 2.8.9.

    Changelog

    Sourced from hosted-git-info's changelog.

    2.8.9 (2021-04-07)

    Bug Fixes

    2.8.8 (2020-02-29)

    Bug Fixes

    • #61 & #65 addressing issues w/ url.URL implmentation which regressed node 6 support (5038b18), closes #66

    2.8.7 (2020-02-26)

    Bug Fixes

    • Do not attempt to use url.URL when unavailable (2d0bb66), closes #61 #62
    • Do not pass scp-style URLs to the WhatWG url.URL (f2cdfcf), closes #60

    2.8.6 (2020-02-25)

    2.8.5 (2019-10-07)

    Bug Fixes

    • updated pathmatch for gitlab (e8325b5), closes #51
    • updated pathmatch for gitlab (ffe056f)

    2.8.4 (2019-08-12)

    ... (truncated)

    Commits
    • 8d4b369 chore(release): 2.8.9
    • 29adfe5 fix: backport regex fix from #76
    • afeaefd chore(release): 2.8.8
    • 5038b18 fix: #61 & #65 addressing issues w/ url.URL implmentation which regressed nod...
    • 7440afa chore(release): 2.8.7
    • 2d0bb66 fix: Do not attempt to use url.URL when unavailable
    • f2cdfcf fix: Do not pass scp-style URLs to the WhatWG url.URL
    • e1b83df chore(release): 2.8.6
    • ff259a6 Ensure passwords in hosted Git URLs are correctly escaped
    • 624fd6f chore(release): 2.8.5
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by nlf, a new releaser for hosted-git-info since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v0.8.1)
  • v0.8.1(Dec 15, 2019)

  • v0.7.0(Sep 3, 2017)

    • Fix React 16 deprecations to support React Native 44+
    • Breaking change: Refactor to ES+, use import now instead of require.
    • Enable Android back button
    • Fix error when using local images
    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(May 11, 2016)

  • v0.5.1(Apr 22, 2016)

  • v0.5.0(Oct 14, 2015)

    • Support for custom animation settings via new springConfig prop.
    • Support for complex lightbox content via new renderContent prop.
    • Fixed warnings on close when using new navigator approach.
    • React Native 0.13-rc support
    Source code(tar.gz)
    Source code(zip)
  • v0.4.1(Oct 11, 2015)

  • v0.4.0(Oct 8, 2015)

    • Android support!
    • Breaking API change: header prop is now renderHeader(close).
    • Breaking API change: Deprecated direct access to close and open methods.
    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Aug 28, 2015)

Owner
Joel Arvidsson
โ•ฅโ”โ”โ”โ”โ”โ”โ”โ”โ•ญโ”โ”โ•ฎโ”โ”โ”ณ โ•ขโ•ญโ•ฎโ•ญโ”โ”โ”โ”โ”โ”ซโ”ƒโ–‹โ–‹โ”โ–…โ”ฃ โ•ขโ”ƒโ•ฐโ”ซโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ƒโ”ƒโ”ˆโ”ˆโ•ฐโ”ซโ”ฃ โ•ขโ•ฐโ”โ”ซโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ•ฐโ•ฏโ•ฐโ”ณโ”โ•ฏโ”ฃ โ•ขโ”Šโ”Šโ”ƒโ”โ”ณโ”ณโ”โ”โ”“โ”โ”ณโ”ซโ”Šโ”Šโ”ฃ โ•จโ”โ”โ”—โ”›โ”—โ”›โ”โ”โ”—โ”›โ”—โ”›โ”โ”โ”ป
Joel Arvidsson
React Native Lightbox

??๏ธ A 60+ fps lightbox component, build upon Reanimated & GestureHandler.

Alan Toa 70 Sep 25, 2022
React native full screen modal component.

react-native-fs-modal React native full screen modal component. Demo Usage NOTE: If you are using the native status bar you will need to combine this

Henry 49 Apr 21, 2020
Quick React Native component for a full screen ScrollView

pagescrollview Very simple React Native / Expo ScrollView component that fills all the available area and have a working scrolling. It fixes some very

Henrique Bruno Fantauzzi de Almeida 20 Aug 15, 2022
Full screen functionality for Android

React native full screen functionality Android There is plenty of room for improvment by adding additional react bindings for props and callbacks. Pro

Anthony Ou 76 Jun 27, 2022
react-native-splashscreen โ˜…358 - A splash screen for react-native

React Native SplashScreen (remobile) A splashscreen for react-native, hide when application loaded Installation npm install @remobile/react-native-spl

YunJiang.Fang 371 Jul 25, 2022
Based on pure JS scripts, without relying on native, no need for react-native link, Title / Header / Tabs / Sticky / Screen components can be flexibly configured, among which Tabs / Sticky can slide When it reaches the top, it will be topped.

react-native-scrollable-tabview English | ็ฎ€ไฝ“ไธญๆ–‡ Based on pure JS scripts, without relying on native, no need for react-native link,Title / Header / Tab

null 133 Sep 20, 2022
A React Native wrapper around the Facebook SDKs for Android and iOS. Provides access to Facebook login, sharing, graph requests, app events etc.

React Native FBSDK React Native FBSDK is a wrapper around the iOS Facebook SDK and Android Facebook SDK, allowing for Facebook integration in React Na

Facebook 3k Sep 20, 2022
A splash screen for react-native, hide when application loaded ,it works on iOS and Android.

react-native-splash-screen A splash screen API for react-native which can programatically hide and show the splash screen. Works on iOS and Android. C

Devio.org 5.3k Sep 30, 2022
Animated collapsible component for React Native, good for accordions, toggles etc

react-native-collapsible Animated collapsible component for React Native using the Animated API Pure JavaScript, supports dynamic content heights and

Joel Arvidsson 2.3k Sep 23, 2022
A notification bar alert displayed at the top of the screen for react-native

react-native-message-bar A message bar notification component displayed at the top of the screen for React Native (Android and iOS) projects. Content

Kevin 441 Sep 20, 2022
Automatic linking of URLs, phone numbers, emails, handles, etc. in strings for React Native

React Native AutoLink Auto-Linking component for React Native. Parses text and wraps URLs, phone numbers, emails, social handles, hashtags, and more w

Josh Swan 522 Sep 17, 2022
A cross-platform bridge that allows you to enable and disable the screen idle timer in your React Native app

react-native-idle-timer A cross-platform bridge that allows you to enable and disable the screen idle timer in your React Native app Install npm insta

Marc Shilling 154 Sep 20, 2022
A React Native component for user to draw anything by touching screen

react-native-drawpad Basic useful feature list: Let users draw anything they want! change color of input easily change thickness of input easily defau

Partido ็”จ้Šๆˆฒ่Šๅคฉไบคๅ‹ 30 Feb 21, 2022
A Virutal Screen keyboard implementation for React-Native

React Native Screen Keyboard is a virutal screen keyboard implementation for React Native. It is fully customizable, the last row of the keys can be completely customized or changed to fit perfectly with your projects.

Usman Hassan 2 Sep 11, 2022
react-native-webp adds support for WebP images for react-native components.

react-native-webp adds support for WebP images for react-native components. Installation npm install react-native-webp --save rnpm link (or manually a

Daniel Basedow 69 Jul 19, 2022
A new RN CLI app that includes base components like Text, Animation, Refreshing, Text Input, etc.

A new RN CLI app that includes base components like Text, Animation, Refreshing, Text Input, etc.

Paรบl 22 Aug 4, 2022
Provide solutions to make your app flexible for different screen sizes, different devices.

react-native-size-scaling Provide solutions to make your app flexible for different screen sizes, different devices, based on your device's pixel rati

Hoร  Phan 31 Sep 22, 2022
Swiper/carousel component for React Native featuring previews, multiple layouts, parallax images, performant handling of huge numbers of items, and more. Compatible with Android & iOS.

react-native-snap-carousel โœจ Some great news for you, fellow plugin user! ?? Head over there now to learn more about all the goodness that's coming yo

Meliorence 9.7k Oct 1, 2022
:raised_hands: A pure JS react-native component to render a masonry~ish layout for images with support for dynamic columns, progressive image loading, device rotation, on-press handlers, and headers/captions.

react-native-masonry ?? An easy to use, pure JS react-native component to render a masonry~ish layout for remote images react-native-masonry is built

Brandon Him 1.2k Sep 8, 2022