Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A datetime-picker for react-native support for android and ios

License

Notifications You must be signed in to change notification settings

cnjon/react-native-datetime

Repository files navigation

React Native DateTime

A datetime-picker for react-native support for android and ios(base on @remobile/react-native-datetime-picker)

Installation

npm install react-native-datetime --save

Installation (iOS)

  • not need install, on ios use js write

Installation (Android)

  • In android/settings.gradle
...
include ':react-native-datetime'
project(':react-native-datetime').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-datetime/android')
  • In android/app/build.gradle
...
dependencies {
 ...
 compile project(':react-native-datetime')
}
  • register module (in MainActivity.java)

On newer versions of React Native (0.18+):

import com.keyee.datetime.*; // <--- import
public class MainActivity extends ReactActivity {
 ......
 /**
 * A list of packages used by the app. If the app uses additional views
 * or modules besides the default ones, add more packages here.
 */
 @Override
 protected List<ReactPackage> getPackages() {
 return Arrays.<ReactPackage>asList(
 new RCTDateTimePickerPackage(this), // <------ add here
 new MainReactPackage());
 }
}

On older versions of React Native:

import com.keyee.datetime.*; // <--- import
public class MainActivity extends Activity implements DefaultHardwareBackBtnHandler {
 ......
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 mReactRootView = new ReactRootView(this);
 mReactInstanceManager = ReactInstanceManager.builder()
 .setApplication(getApplication())
 .setBundleAssetName("index.android.bundle")
 .setJSMainModuleName("index.android")
 .addPackage(new MainReactPackage())
 .addPackage(new RCTDateTimePickerPackage(this)) // <------ add here
 .setUseDeveloperSupport(BuildConfig.DEBUG)
 .setInitialLifecycleState(LifecycleState.RESUMED)
 .build();
 mReactRootView.startReactApplication(mReactInstanceManager, "ExampleRN", null);
 setContentView(mReactRootView);
 }
 ......
}

Screencasts

  • ios

![image](https://github.com/cnjon/react-native-datetime/blob/master/screencasts/ios/4.png)
* android
![image](https://github.com/cnjon/react-native-datetime/blob/master/screencasts/android/3.png)

Usage

use as follows:

<DateTimePicker ref={(picker)=>{this.picker=picker}}/>
...
this.picker.showDatePicker(...)
this.picker.showTimePicker(...)
this.picker.showDateTimePicker(...)
  • on ios, make sure must on topest view

Example

'use strict';
var React = require('react-native');
var {
 StyleSheet,
 TouchableOpacity,
 View,
 Text,
} = React;
var DateTimePicker = require('react-native-datetime').default;
var Button = require('@remobile/react-native-simple-button');
module.exports = React.createClass({
 getInitialState() {
 return {
 date: new Date(),
 }
 },
 showDatePicker() {
 var date = this.state.date;
 this.picker.showDatePicker(date, (d)=>{
 this.setState({date:d});
 });
 },
 showTimePicker() {
 var date = this.state.date;
 this.picker.showTimePicker(date, (d)=>{
 this.setState({date:d});
 });
 },
 showDateTimePicker() {
 var date = this.state.date;
 this.picker.showDateTimePicker(date, (d)=>{
 this.setState({date:d});
 });
 },
 render() {
 return (
 <View style={styles.container}>
 <Text style={{textAlign: 'center'}}>
 {this.state.date.toString()}
 </Text>
 <View style={{height:40}} />
 <Button onPress={this.showDatePicker}>showDatePicker</Button>
 <View style={{height:40}} />
 <Button onPress={this.showTimePicker}>showTimePicker</Button>
 <View style={{height:40}} />
 <Button onPress={this.showDateTimePicker}>showDateTimePicker</Button>
 <DateTimePicker ref={(picker)=>{this.picker=picker}}/>
 </View>
 );
 },
});
var styles = StyleSheet.create({
 container: {
 flex: 1,
 justifyContent: 'center',
 paddingTop:20,
 },
});

Methods

  • showDatePicker(date, callback(date))
  • showTimePicker(date, callback(date))
  • showDateTimePicker(date, callback(date))

Props

  • cancelText (default: Cancel)
  • okText (default: Ok)

About

A datetime-picker for react-native support for android and ios

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

AltStyle によって変換されたページ (->オリジナル) /