Coder Social home page Coder Social logo

melihberberolu / reactnativewheelpicker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from victorzimnikov/reactnativewheelpicker

0.0 1.0 0.0 9.62 MB

License: Other

JavaScript 29.35% Ruby 4.85% Objective-C 7.30% Java 52.49% TypeScript 4.96% Starlark 1.06%

reactnativewheelpicker's Introduction

React native wheel picker V2

A simple Wheel Picker for Android (For IOs is using Picker from react-native)

Example

You can clone the repo and run example from ./example folder

Installation

yarn add react-native-wheel-picker-android

Automatic Installation

react-native link react-native-wheel-picker-android

Manual Android Installation

In android/settings.gradle

include ':react-native-wheel-picker-android'
project(':react-native-wheel-picker-android').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-wheel-picker-android/android')

In android/app/build.gradle

dependencies {
    ...
    compile project(':react-native-wheel-picker-android')
}

In android/app/src/main/java/com/PROJECT_NAME/MainApplication.java

@Override
protected List<ReactPackage> getPackages() {
  return Arrays.<ReactPackage>asList(new MainReactPackage(), new WheelPickerPackage());
}

Usage

import {
  WheelPicker,
  TimePicker,
  DatePicker
} from "react-native-wheel-picker-android";
import React, { Component } from "react";
import { AppRegistry, StyleSheet, Text, View, Button } from "react-native";

const wheelPickerData = [
  "sunday",
  "monday",
  "tuesday",
  "wednesday",
  "thursday",
  "friday"
];

class MyPicker extends Component {
  state = {
    selectedItem: 0
  };

  onItemSelected = selectedItem => {
    this.setState({ selectedItem });
  };

  onPress = () => {
    this.setState({ selectedItem: 3 });
  };

  render() {
    return (
      <View style={styles.container}>
        <Button title={"Select third element"} onPress={this.onPress} />
        <Text>Selected position: {this.state.selectedItem}</Text>
        <WheelPicker
          selectedItem={this.state.selectedItem}
          data={wheelPickerData}
          onItemSelected={this.onItemSelected}
        />
      </View>
    );
  }
}

module.exports = MyPicker;

Props

Prop Default Type Description
onItemSelected - func Returns selected position
data - Array<string> Data array
isCyclic false bool Make Wheel Picker cyclic
selectedItemTextColor black string Wheel Picker's selected Item text color
selectedItemTextSize 16 number Wheel Picker's selected Item text size
selectedItemTextFontFamily - font-family Wheel Picker's selected Item font
itemTextColor grey string Wheel Picker's Item Text Color
itemTextSize 16 number Wheel Picker's Item text size
itemTextFontFamily - font-family Wheel Picker's Item font
selectedItem 0 number Current item position
initPosition 0 number Initial item position
indicatorColor black string Indicator color
hideIndicator - boolean Hide indicator
indicatorWidth 1 number Indicator width
backgroundColor transparent string Wheel Picker background color
disabled undefind bool Disable picker selection

Time Picker

For IOs DatePickerIOS is used

onTimeSelected = date => {}
...
<TimePicker onTimeSelected={this.onTimeSelected}/>

Props

Prop Default Type Description
DatePickerIOS props - - All DatePickerIOS props (IOS only)
...WheelPicker props - - All style WheelPicker props (Android only)
initDate current date Date Initial date
onTimeSelected - func Callback with selected time
hours [1,2,3,4...] Array<string> Custom hours array (Android only)
minutes [00,05,10,15...] Array<string> Custom minutes array (Android only)
format24 false boolean Time format (Android only)

Date Picker

For IOs DatePickerIOS is used

onDateSelected = date => {}
...
<DatePicker onDateSelected={this.onDateSelected}/>

Props

Prop Default Type Description
DatePickerIOS props - - All DatePickerIOS props (IOS only)
initDate current date Date Initial date
onDateSelected - func Callback with selected date
days [1,2,3,4...] Array<string> Custom days array (Android only)
hours [1,2,3,4...] Array<string> Custom hours array (Android only)
minutes [00,05,10,15...] Array<string> Custom minutes array (Android only)
format24 false boolean Time format (Android only)
startDate current date Date Min Date (Android only)
daysCount 365 number Days count to display from start date (Android only)
hideDate false boolean Hide days picker (Android only)
hideHours false boolean Hide hours picker (Android only)
hideMinutes false boolean Hide minutes picker (Android only)
hideAM false boolean Hide time format picker (Android only)

Questions or suggestions?

Feel free to open an issue

reactnativewheelpicker's People

Contributors

artemkosiakevych avatar shhzdmrz avatar shobulive avatar slauzinho avatar melihberberolu avatar nimatrueway avatar nialloc9 avatar wankuiy avatar poberwong avatar pandabearcoder avatar agenthunt avatar saravanabalagi avatar snnikitin avatar mahcloud avatar maxtoyberman avatar gpawlik avatar arnaud-zg avatar andrewtsar0w avatar rigellute avatar

Watchers

James Cloos 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.