alhazmy13 / HijriDatePicker

Material (Gregorian - Hijri) Date & Time Picker
alhazmy13.net
Apache License 2.0
143 stars 63 forks source link
android dialog dialogs gregorian hijri material picker time

Hijri Date Picker (UmAlQuraCalendar)

This library offers a hijri (Islamic Calendar) Date Picker designed on Google's Material Design Principals For Pickers for Android 5.0 (API 21) +.

Demo Hijri
Time Gregorian

You can report any issue on issues page. Note: If you speak Arabic, you can submit issues with Arabic language and I will check them. :)

Installation

Maven

<dependency>
<groupId>net.alhazmy13.hijridatepicker</groupId>
<artifactId>library</artifactId>
<version>3.0.0</version>
</dependency>

Gradle


dependencies {
    compile 'net.alhazmy13.hijridatepicker:library:3.0.0'
}

Usage

The library follows the same API as other pickers in the Android framework. After adding the library, you need to:

  1. Implement an onDateSet
  2. Create a HijriCalendarDialog using the supplied factory
  3. Theme the pickers

Implement an OnTimeSetListener/OnDateSetListener

In order to receive the date set in the picker, you will need to implement the OnDateSetListener interfaces. Typically this will be the Dialog that creates the Pickers. The callbacks use the same API as the standard Android pickers.

Note: Months start from 0.

 // TimePickerDialog
 @Override
    public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute, int second) {
        // YOUR CODE
    }
 // GregorianDatePickerDialog
   @Override
    public void onDateSet(GregorianDatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
        //YOUR CODE
    }

    // HijriDatePickerDialog
       @Override
    public void onDateSet(HijriDatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
        //YOUR CODE
    }

Create a GregorianDatePickerDialog

You will need to create a new instance of GregorianDatePickerDialog. Once the dialogs are configured, you can call show().

Calendar now = Calendar.getInstance();
GregorianDatePickerDialog dpd = GregorianDatePickerDialog.newInstance(
          this,
          now.get(Calendar.YEAR),
          now.get(Calendar.MONTH),
          now.get(Calendar.DAY_OF_MONTH));
dpd.show(getFragmentManager(), "GregorianDatePickerDialog");

Create a HijriDatePickerDialog

Same as GregorianDatePickerDialog but you need to use UmmalquraCalendar insted of Calendar class.

UmmalquraCalendar now = new UmmalquraCalendar();
HijriDatePickerDialog dpd = HijriDatePickerDialog.newInstance(
          this,
          now.get(UmmalquraCalendar.YEAR),
          now.get(UmmalquraCalendar.MONTH),
          now.get(UmmalquraCalendar.DAY_OF_MONTH));
dpd.show(getFragmentManager(), "HijriDatePickerDialog");

TimePickerDialog

Calendar now = Calendar.getInstance();
TimePickerDialog tpd = TimePickerDialog.newInstance(
                        this,
                        now.get(Calendar.HOUR_OF_DAY),
                        now.get(Calendar.MINUTE),
                        mode24Hours.isChecked()
                );

Credits

License

Copyright 2015 alhazmy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.