GithubHelp home page GithubHelp logo

splend-rajesh / react-native-sliding-up-down-panel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abhijeet-ashapure/react-native-sliding-up-down-panel

0.0 0.0 0.0 2.45 MB

An Awesome library of react native for sliding panels

JavaScript 42.57% Python 14.09% Java 11.49% Objective-C 31.85%

react-native-sliding-up-down-panel's Introduction

React Native Sliding panel (up and down) - Android and IOS

An Awesome fully Customizable library of react native for sliding panels purely implemented in Javascript. Works exceptionally well on android and ios.

Alt text

Features (What makes this library different)

Easily Assemble itself into your react native project

One library for both sliding up and sliding down panels.

Customizable Animatable and Draggable.

Extremely simple usage and implementation.

Provides maximum methods for dealing with every scenarios in sliding panels.

Constantly updating and improvizing to provide best experience to all the developers.

Support

We will be always available to hear every possible issue and to fix every reported bug. You can even directly report the issue/concern/query/suggestion at [email protected]

Installation

npm install react-native-sliding-up-down-panels --save

Copy and paste into the terminal in your project directory. For more information on npm install, please visit their official page

Note : We will soon provide the installation using yarn

Minimal Example

Before start please note :

  1. Always Put flex: 1 on the root container component style in which you are using < SlidingPanel />.
  2. Always use prop headerLayoutHeight to mention the height of the sliding panel header.
import React, { Component } from 'react';
import {
  StyleSheet,
  Text,
  View,
  Dimensions,
} from 'react-native';
const { width, height } = Dimensions.get('window');

import SlidingPanel from 'react-native-sliding-up-down-panels';


export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>                      
        
        <View style={styles.bodyViewStyle}>
          <Text>Hello My World</Text>
        </View>
        
        <SlidingPanel
            headerLayoutHeight = {100}
            headerLayout = { () =>
                <View style={styles.headerLayoutStyle}>
                  <Text style={styles.commonTextStyle}>My Awesome sliding panel</Text>
                </View>
            }
            slidingPanelLayout = { () =>
                <View style={styles.slidingPanelLayoutStyle}>
                  <Text style={styles.commonTextStyle}>The best thing about me is you</Text>
                </View>
            }
        />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  bodyViewStyle: {
    flex: 1,
    justifyContent: 'center', 
    alignItems: 'center',
  },
  headerLayoutStyle: {
    width, 
    height: 100, 
    backgroundColor: 'orange', 
    justifyContent: 'center', 
    alignItems: 'center',
  },
  slidingPanelLayoutStyle: {
    width, 
    height, 
    backgroundColor: '#7E52A0', 
    justifyContent: 'center', 
    alignItems: 'center',
  },
  commonTextStyle: {
    color: 'white', 
    fontSize: 18,
  },
});

If you are wrapping header layout inside a view, please make sure the height of that view is equal to headerLayoutHeight prop.

Props

Property Type Description Platform
headerLayoutHeight number Header height of sliding panel android, ios
headerLayout function Header Layout of sliding panel android, ios
slidingPanelLayout function Panel Layout of sliding panel android, ios
AnimationSpeed number Animation speed, (in millisecond) android, ios
slidingPanelLayoutHeight number Panel height of sliding panel android, ios
panelPosition string "top" or "bottom" android, ios
visible booolean to show/hide sliding panel android, ios
allowDragging booolean allow sliding panel to drag android, ios
allowAnimation booolean allow sliding panel to animate android, ios
onDragStart function(event, gestureState) returns event, gestureState android, ios
onDragStop function(event, gestureState) returns event, gestureState android, ios
onDrag function(event, gestureState) returns event, gestureState android, ios
onAnimationStart function triggers when panel animation starts android, ios
onAnimationStop function triggers when panel animation stops android, ios

Methods

Method Name Description Platform
onRequestStart panel animation starts, sliding panel opens android, ios
onRequestClose panel animation stops, sliding panel stops android, ios

What's next (Our promise)

In the next version, We will upgrade library to the following features.

  • Installation using yarn.
  • Sliding the panel upto a particular height.
  • Left and Right sliding panels
  • Drop down panels, (Wooo!!)
  • Bug fixes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.