项目作者: Codelabsys

项目描述 :
Date Dialog for Hijri calendar for android
高级语言: Java
项目地址: git://github.com/Codelabsys/react-native-hijri-date-picker-android.git


react-native-hijri-date-picker-android

Codelab

This Module version is experimental, if you found any issues, kindly submit.

Getting started

Versions

For React Native >= 0.47.0 use v2.+
For React Native < 0.47.0 use v1.0.8

Installing

NPM

$ npm install react-native-hijri-date-picker-android --save

Mostly automatic installation

$ react-native link react-native-hijri-date-picker-android

Manual installation

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
    • Add import com.reactlibrary.HijriDatePickerAndroidPackage; to the imports at the top of the file
    • Add new HijriDatePickerAndroidPackage() to the list returned by the getPackages() method
  2. Append the following lines to android/settings.gradle:
    1. include ':react-native-hijri-date-picker-android'
    2. project(':react-native-hijri-date-picker-android').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-hijri-date-picker-android/android')
  3. Insert the following lines inside the dependencies block in android/app/build.gradle:
    1. compile project(':react-native-hijri-date-picker-android')

Usage

  1. //first include HijriDatePickerAndroid
  2. import HijriDatePickerAndroid from "react-native-hijri-date-picker-android";
  3. let options = { date: new Date(), minDate: new Date(new Date().getTime() - (1 * 30 * 24 * 60 * 60 * 1000)), maxDate: new Date(new Date().getTime() + (1 * 30 * 24 * 60 * 60 * 1000)) };
  4. let stringOptions = { date: "27-7-1438", minDate: "25-6-1438", maxDate: "29-8-1438" };
  5. //mode:"no_arrows" hide the arrows at the bar of the calendar
  6. //weekDayLabels, override the default day labels at the calendar
  7. let moreOptions = { date: "27-7-1438", minDate: "25-6-1438", maxDate: "29-8-1438", mode:"no_arrows", weekDayLabels:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};
  8. //accepts option dates with date objects or strings in the following format ['dd-MM-yyyy']
  9. HijriDatePickerAndroid.open(stringOptions).then(function (result) {
  10. if (result.action == HijriDatePickerAndroid.dismissedAction) {
  11. console.warn("Dismissed");
  12. } else {
  13. let { year, day, month } = result;
  14. console.warn("Hijri Date: " + day + "/" +( month + 1) + "/" + year + "/");
  15. }
  16. });
  17. //convert string Hijri date ['dd-MM-yyyy'] to a gregorian timestamp
  18. HijriDatePickerAndroid.convertHijriDateToGregorianDate("12-7-1438").then(function (result) {
  19. console.warn("Gregorian Timestamp" + JSON.stringify(result));
  20. });
  21. //convert gregorian date object to hijri {year,month,day}
  22. HijriDatePickerAndroid.convertGregorianDateToHijriDate(new Date()).then(function ({ year, day, month }) {
  23. console.warn("Hijri Date: " + day + "/" + month + 1 + "/" + year + "/");

For IOS

Check out our IOS project react-native-universal-datepicker-ios

Credits

This project was made by the help of Assem-Hafez and Mohamed-Abbas
for the company we’re working at Codelabsys

And is based on the following projects, material-hijri-calendarview and ummalqura-calendar