Skip to content

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

License

Notifications You must be signed in to change notification settings

zicjin/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-zic --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