GithubHelp home page GithubHelp logo

miguelramosfdz / react-native-circular-slider Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bartgryszko/react-native-circular-slider

0.0 2.0 0.0 467 KB

React Native component for creating circular slider :radio_button:

License: MIT License

JavaScript 74.73% Python 5.53% Java 4.92% Objective-C 14.82%

react-native-circular-slider's Introduction

license Version Twitter Follow

react-native-circular-slider ๐Ÿ”˜

React Native component for creating circular slider.

Example app โ€“ inspired by Apple's Bedtime โฐ

(It's just an example what you can achieve โ€“ with this package you can create any circular slider)

image

Installation

  1. Install library and react-native-svg

    npm i --save react-native-circular-slider react-native-svg
    
  2. Link native code for SVG

    react-native link react-native-svg
    

Usage

Import Circular Slider

import CircularSlider from 'react-native-circular-slider';

Use as follows:

<CircularSlider
  startAngle={this.state.startAngle}
  angleLength={this.state.angleLength}
  onUpdate={({ startAngle, angleLength }) => this.setState({ startAngle, angleLength })}
  segments={5}
  strokeWidth={40}
  radius={145}
  gradientColorFrom="#ff9800"
  gradientColorTo="#ffcf00"
  showClockFace
  clockFaceColor="#9d9d9d"
  bgCircleColor="#171717"
  stopIcon={<G><Path .../></G>}
  startIcon={<G><Path .../></G>}
/>

Configuration

You can configure the passing by following props:

  • startAngle โ€“ angle where the slider starts (from 0 to 2ฯ€)
  • angleLength - length of the slider (from 0 to 2ฯ€)
  • onUpdate({ startAngle, angleLength }) - when slider is moved, onUpdate(data) is triggered, where data is an object of new values of startAngle and angleLength.
  • segments (optional) - SVG doesn't support canonical gradients, so it's imitated by using multiple linear gradients across the slider. In most cases 5 should be fine.
  • strokeWidth (optional) - width of slider
  • radius (optional) - size of the slider
  • gradientColorFrom (optional) - initial gradient color
  • gradientColorTo (optional) - final gradient color
  • showClockFace (optional) - if component should render clock face
  • bgCircleColor (optional) - color of the circle under the slider (pathway for a slider)
  • stopIcon (optional) - SVG Path for a stop icon (see the example)
  • startIcon (optional) - SVG Path for a start icon (see the example)

Working example app

With XCode

You'll find working example in the example directory of this repository. You can run it by:

git clone https://github.com/bgryszko/react-native-circular-slider.git
cd  react-native-circular-slider/example/Bedtime
npm install
open ios/Bedtime.xcodeproj

XCode will open. Click Run button and that's it.

With Exponent

The easiest way to run it is with Exponent: https://getexponent.com/@community/bedtime

If you'd rather build it locally, follow these steps:

  1. Download XDE
  2. Clone the repo and install dependencies
git clone https://github.com/bgryszko/react-native-circular-slider.git
cd  react-native-circular-slider/example-exponent/Bedtime
npm install
  1. Open the project with XDE

Author

Bartosz Gryszko ([email protected])

For new components and updates follow me on twitter.

License

MIT

react-native-circular-slider's People

Contributors

bartgryszko avatar brentvatne avatar seratonik avatar

Watchers

 avatar  avatar

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.