Giter VIP home page Giter VIP logo

persianmaterialdatetimepicker's Introduction

PersianMaterialDateTimePicker

This library offers a hijri/shamsi (Iran Calendar) Date Picker and a normal time picker designed on Google's Material Design Principals For Pickers for Android 4.0.3 (API 15) +.

Date Picker Time Picker
Date Picker Time Picker

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

#Importing Please refer to the relative wiki page.

Usage

The library follows the same API as other pickers in the Android framework. After adding the library, for using a picker in your project you need to:

  1. Implement an OnTimeSetListener/OnDateSetListener
  2. Create a TimePickerDialog/DatePickerDialog using the supplied factory
  3. Theme the pickers

Implement an OnTimeSetListener/OnDateSetListener

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

@Override
public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute) {
  String time = "You picked the following time: "+hourOfDay+"h"+minute;
  timeTextView.setText(time);
}

@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
  String date = "You picked the following date: "+dayOfMonth+"/"+(monthOfYear+1)+"/"+year;
  dateTextView.setText(date);
}

Create a TimePickerDialog/DatePickerDialog using the supplied factory

You will need to create a new instance of TimePickerDialog or DatePickerDialog using the static newInstance() method, supplying proper default values and a callback. Once the dialogs are configured, you can call show().

PersianCalendar persianCalendar = new PersianCalendar();
DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(
  MainActivity.this,
  persianCalendar.getPersianYear(),
  persianCalendar.getPersianMonth(),
  persianCalendar.getPersianDay()
);
datePickerDialog.show(getFragmentManager(), "Datepickerdialog");

Theme the pickers

You can theme the pickers by overwriting the color resources mdtp_accent_color and mdtp_accent_color_dark in your project.

<color name="mdtp_accent_color">#009688</color>
<color name="mdtp_accent_color_dark">#00796b</color>

#Additional Options

  • TimePickerDialog dark theme
    The TimePickerDialog has a dark theme that can be set by calling
timePickerDialog.setThemeDark(true);
  • DatePickerDialog dark theme The DatePickerDialog has a dark theme that can be set by calling
datePickerDialog.setThemeDark(true);
  • TimePickerDialog setTitle(String title) Shows a title at the top of the TimePickerDialog

  • setSelectableDays(PersianCalendar[] days) You can pass a PersianCalendar[] to the DatePickerDialog. This values in this list are the only acceptable dates for the picker. It takes precedence over setMinDate(PersianCalendar day) and setMaxDate(PersianCalendar day)

  • setHighlightedDays(PersianCalendar[] days) You can pass a PersianCalendar[] of days to highlight. They will be rendered in bold. You can tweak the color of the highlighted days by overwriting mdtp_date_picker_text_highlighted

  • OnDismissListener and OnCancelListener
    Both pickers can be passed a DialogInterface.OnDismissLisener or DialogInterface.OnCancelListener which allows you to run code when either of these events occur.

timePickerDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
    @Override
    public void onCancel(DialogInterface dialogInterface) {
      Log.d("TimePicker", "Dialog was cancelled");
    }
});
  • vibrate(boolean vibrate) Set whether the dialogs should vibrate the device when a selection is made. This defaults to true.

#Credits This libary is completely based on MaterialDateTimePicker Library and Persian Calendar.

persianmaterialdatetimepicker's People

Contributors

bkhezry avatar mohamad-amin avatar mostafa-hz avatar thore1954 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

persianmaterialdatetimepicker's Issues

error(28, 13)

از هر دو روش استفاده کردم منتهی جواب نداد
ممنون میشم از راهنماییتون
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:support-v4:24.0.0'
compile 'com.android.support:support-v13:24.0.0'
compile 'com.mohamadamin:persianmaterialdatetimepicker:1.2.1'
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
}
}

allprojects {
repositories {
mavenCentral()
}
}
روش دوم هم مشکل زیر دارم
error configuration with name 'default' not found

اضافه کردن کتابخونه

سلام ممنون بایت این کتابخانه
من دقیقا راهی که شما فرمودید توی پروژه این کتابخونه رو اضافه کردم ولی همچین خطایی رو میده اگر ممکنه ی راهنمایی بکنید خیلی لازمش دارم
با تشکر
Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle.

یک باگ در انتخاب ساعت

هنگامی که ساعت انتخاب می شود ، باید دقیقه هم انتخاب شود تا مقدار ساعت انتخاب شده به درستی انتخاب شود.
به عنوان مثال اگه ساعت و دقیقه پیش فرض 11:00 باشد ، و ما ساعت 12:00 انتخاب کنیم ، به ماخروجی 00:00 خواهد داد. چون دقیقه 00 انتخاب کردیم ، مگر این گه دقیقه تغییر دهیم بعد دوباره دقیقه 0 انتخاب کنیم . ساعت به درستی انتخاب شود.

انتخاب یک محدوده از تاریخ

سلام
مرسی از کتابخونه خوبی که ساختید. میخواستم بپرسم میشه با این کتابخونه یک محدوده از تاریخ رو انتخاب کرد؟

مثلا یه بار که کلیک شد روی روز بشه تاریخ بعدیش رو همونجا انتخاب کرد و مابین این 2 تاریخ بصورت هایلایت در بیاد؟

مرسی که پاسخ میدید

کمک به فارسی زبانان

با سلام
من تو سایتهای مختلف سرچ کردم عمده کاربران ایرانی یا قادر به اضافه کردن کتابخانه نیستند یا اگه اضافه کردند نمی دونند چه جوری ازش استفاده کنند. اگه ممکنه یه پروژه کوچک درست کنید و به عنوان نمونه جهت دانلود در اختیار کاربران قرار بدید تا براحتی بشه ازش استفاده کرد.

تبدیل تاریخ

با سلام آیا امکان تبدیل ناریخ شمسی به قمری وبالعکس وجود دارد

Date font size?

با سلام و تشکر از وقتی که برای تبدیل این کتابخونه گذاشتید
آیا میشه اندازه ی سایز اعداد رو در تقویم افزایش داد؟
و سوال دوم اینکه میخواستم روزهای هفته رو مقدار دهی کنم؟ یعنی بجای "ش" کامل بنویسم شنبه! این رو از کجا مقدار دهی کنم؟
بازم ممنونم...

.getPersianMonth()

سلام
تبریک بابت کار بسیار خوب و کاربردی که انجام دادید
متاسفانه
.getPersianMonth()
یکروز کمتر از ماه جاری رو نشون میده

خروجی رو چک کنین

 txt_jalali.setText(now.getPersianShortDateTime()+"");
===> 1395/06/16 05:49:05
 txt_jalaliSeprated.setText(now.getPersianYear()+"/"+now.getPersianMonth()+"/"+now.getPersianDay());
===> 1395/05/16

PersianMaterialDateTimePicker-library

hi
i have a question for you:
when i import PersianMaterialDateTimePicker project in android studio it has a problem an this error com up:
Error:(1, 0) Plugin with id 'com.android.library' not found.
please help me to fix and use it

اشکال در نحوه نمایش تاریخ ماه آذر

با سلام
برای نمایش تاریخ به صورت کوتاه مانند:
۱۳۹۵/۰۷/۰۳
در تمامی ماه‌ها صحیح است جز ماه آذر که بجای ۰۹، ۹ ثبت میشود، یعنی:
۱۳۹۵/۹/۰۳
این مشکل در گزارش گیری دیتابیس محسوس است.
.
با تشکر از زحمات شما سرورانم

نمایش نادرست نام روز

در برخی دستگاه ها ،تاریخ به اشتباه نمایش داده میشود مثلا توبرخی دستگاه 8 اردیبهشت 95 روز جمعه
در برخی دیگر 8 اردیبهشت 95 روز شنبه
به علت های این مشکل پیش بیاد ؟
ممنون میشم منو راهنمایی کنید !

Import as a moduel

سلام
ممنون بابت این لایبرری
من میخوام پروژه رو به صورت ماژول اضافه کنم ولی اررور زیر رو میده
Error:Configuration with name 'default' not found.
چیکار باید بکنم؟

مشکل در نمایش ساعت بین 00:00 تا 04:30

salam mamnon az datepiker khobeton

moshkel man timeZone hast

agar sate beine 00:00 am ta 04:30 am bashe tarikh ro yek rooz aghab tar neshom mide

hata ba settimezone ham dorost nemishe

PersianCalendar persianCalendar = new PersianCalendar();
persianCalendar.setTimeZone(TimeZone.getTimeZone("Asia/Tehran"));

mishe rahnamaie konid

conflict در نام کلاس

درود بر شما،

ممنون از این که این کتاب خونه رو فارسی سازی کردید.
اما من تو یه پروژه نیاز به استفاده از هر دوی این‌ها دارم، یعنی هم خورشیدی هم میلادی و ظاهرا هر دوی این‌ها رو کنار هم نمیشه تو یه پروژه با gradle داشت و نهایتا موقع run کردن به exception و conflict بر می خوره بین اسم کلاس‌های داخل لایبرری شما.

ممنون

نمایش ثابت

با سلام.
چگونه میتونم به صورت ثابت (و نه به صورت مودال) استفاده کنم؟

Show Years list in month/year onClick

In date picker when on click on month/year label should list the years and user can pick on of them. in current version this onClick point it's not working or if working in out of the label and not on every devices.

setMaxDate does not work properly

I have set the maxDate to today, it shows 4 days before. tried adding days to my persianCalendar object, doesnt reflect any changes. setMinDate() works fine though.

اضافه کردن نام ماه های طالع بینی(دری) در persianCalendar

سلام ممنون از کتابخانه قویتون
میخواستم بگم که اگه میشه نام ماههای دری رو هم اضافه کنید

Hijri Shamsi Month in Dari Corresponding Christian month

Hamal March-April

Sawer April-May

Jawza May-June

Saratan June-July

Asad July-August

Sonbula August-September

Mizaan September-October

Aqrab October-November

Qaws November-December

Jadi December –January

Dalwa January-February

Hoot February-March

بعد اگه بشه همین ماههایی که هست به صورت فینگیلیش هم قابل استفاده باشه

set date and current date lag

سلام و تشکر بابت کار بسیار عالی شما. به غیر از یک روز لگی که اشاره شده،
setDate
یک ماه کمتر میده و یا وقتی میخوایم به صورت دستی مقدار ماه و سال و روزو برای باز کردن دیلوگ بفرستیم، تاریخ اشتباهی باز میشه.
تشکر مجدد.

مشکل در اضافه کردن با متد دو

سلام
تمامی مراحل اضافه کردن متد دوم را انجام دادم
با این مشکل روبرو شدم
Error:Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :PersianMaterialDateTimePicker.

minsdk error

سلام
با سپاس فروان پروژه بی نظیری که به اشتراک گذاشتید
اگه کسی از دوستان روی minsdk9
اجرا کرده و یا اگه تغییراتی لازمه که اینکار صورت بگیره ، لطفا به من اطلاع بده
ممنون
[email protected]

Adding an Optional Button

Hi dear Mohammad Amin,

Is there anyway to add buttons to the picker? as there is 'setButton' method in the default gregorian picker.

Thanks in advance.

PersianCalendar Lags

Hi there,

There's an issue in the PersianCalendar class. it lags a day behind. you can check it out by setting your device date to say 1/6/1394 00:10 AM. What you get is 31/5/1394. I'm looking forward to fix it. God willingly I'll post the result :-)

connection refused

Error:(35, 0) Connection refused
persianmaterialdatetimepicker/build.gradle">Open File

عدم نمایش تقویم شمسی

سلام
من این قطعه کد زیر را در برنامه نوشتم ولی با زدن دکمه مورد نظر تقویم باز هم بصورت میلادی نمایش داده میشود
btn1.setOnClickListener(new View.OnClickListener() {
@OverRide
public void onClick(View v) {
PersianCalendar persianCalendar = new PersianCalendar();
DatePickerDialog datePickerDialog=new DatePickerDialog(result.this, new DatePickerDialog.OnDateSetListener() {
@OverRide
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

               }
           },persianCalendar.getPersianYear(),persianCalendar.getPersianMonth(),persianCalendar.getPersianDay());

            datePickerDialog.show();
              }
    });

در ضمن کد زیر که در سایت زده بودید برای قسمت newinstance و datePickerDialog.show خطا می دهد
PersianCalendar persianCalendar = new PersianCalendar();
DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(
MainActivity.this,
persianCalendar.getPersianYear(),
persianCalendar.getPersianMonth(),
persianCalendar.getPersianDay()
);
datePickerDialog.show(getFragmentManager(), "Datepickerdialog");
ممنون میشم کمکم کنید

Dynamic texts

Hi,
First of all thanks for the great contribution.

I'm wondering if there is a way to change text and labels grammatically or any other way to set these values to my desired ones.

setMinDate doesn't work if year is before 1350

If you call setMinDate in a picker with a persian year before 1350, the year picker doesn't show years before 1350. It seems that mMinYear is always set with DEFAULT_START_YEAR, which is 1350. The method that should set this value, setYearRange, is not used in code.

Consider removing the limit on DatePickerDialog.java:600
return mMinDate != null && mMinDate.getPersianYear() > mMinYear ? mMinDate.getPersianYear() : mMinYear;

مشکل هنگام تبدیل فایل persianmaterialdatetimepicker-1.2.1.aar به فایل dll

سلام
من وقتی میخوام این فایل رو تو ویژوال استدیو برای پروژه زامارین تبدیل به dll کنم خطای
The namespace 'Com.Mohamadamin.Persianmaterialdatetimepicker' already contains a definition for 'Utils'
را بهم نشون می ده
بعد رفتم و تو مسیری خطایی که نشون داده به فضای نام زیر در آدرس
obj\Release\generated\src\Com.Mohamadamin.Persianmaterialdatetimepicker.Utils.cs
فضای نام
Com.Mohamadamin.Persianmaterialdatetimepicker
را تبدیل به فضای نام
Com.Mohamadamin.Persianmaterialdatetimepicker.Utils
کردم و بیلد گرفتم و پروژه به درستی کار کرد
ممنون میشم اگر چک بکنید که آیا در فایل مذکور Com.Mohamadamin.Persianmaterialdatetimepicker.Utils.cs
فضای نام را چک کنید چون من واقعا اتفاقی این کار را کردم و پس از دوماه تونستم جواب بگیرم
تشکر
اینم آدرس فایل dll.

https://forums.xamarin.com/discussion/48774/another-calendar-type-for-datepicker

Does it support Georgian calendar ?

Hi @mohamad-amin Thanks for your good library.

I want to know is it support other languages? or it just only support Persian?

In my case I want to change locale to Iran and uses Shamsi and when I change it to other locale ( like Eng) switch to Georgian.

انتخاب تاریخ در محدوده

با سلام
کتابخانه خوب و زیبایی نوشتین فقط اگه بتونین قابلیت انتخاب تاریخ در بازه مشخصی رو اضافه کنید خیلی خوب میشه.نمونش این کتابخونه که بر اساس همون کتابخونه تقویمی که شما نوشتین نوشته شده:
https://github.com/borax12/MaterialDateRangePicker

یه قابلیت کاربردی لازم دیگه می تونه این باشه که برای تاریخ قابل انتخاب مین و ماکس بشه در نظر گرفت و فقط همون محدوده قابل انتخاب باشه و بقیه روز ها غیر فعال باشن

Error: Failed to resolve!

hi there,
everytime i try to build my project i get this error:
Error:(32, 13) Failed to resolve: com.github.mohamadamin:PersianMaterialDateTimePicker:452c51fc79
I really dont know what the problem is :(

a part of my build.gradle:

repositories {
    maven {
        url "https://jitpack.io"
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    //  others ....
    compile 'com.github.mohamad-amin:PersianMaterialDateTimePicker:452c51fc79'
}

مشکل TimeZone

ba salam
darbareye TimeZone moshkel daram. har kar mikonam baz TimeZone ro GMT . Chetor bayad set konim?!!!!!!!

سلام لطفا بابت این اررور راهنمایی کنید

با سلام و تشکر
من زمانی که میخوام مايولو ادد کنم تو زمانی که خط compile رو میخوام بنویسم و سینک کنم این اررور رو میده
Error:(31, 0) Project with path ':persianmaterialdatetimepicker' could not be found in project ':app'.

تغییر رنگ روزهای تعطیل

با سلام و خسته نباشید
میخواستم ببینم آیا امکان داره بتونیم رنگ روزهای تعطیل رو به طریقی تغییر بدیم؟
اگر ممکنه راهنمایی‌ام کنید که توی چه فایلی، چه آرایه‌ای رو باید تغییر بدیم که رنگ روزهای تعطیل تغییر کنه؟

با تشکّر از زحمات‌تون

تغییر فونت

سلام
دوست عزیز تغییر فونت در کتابخانه شما امکان پذی هست؟
البته اگر فقط با گرادل ایمپورت شده باشه

غیر فعال کردن scroll رو به عقب

با سلام و عرض تشکر بابت برنامه ی خیلی خوبتون.
چطوری میتونم اسکرول به تاریخ های گذشته رو غیرفعال کنم و نزارم که اسکرول کنه؟

landscape

salam

man datepicker dar yek fragment bedune implement daram estefade mikonam dar halate landscape datepicker va timepicker b surate landscape darnemian va har do az safhe kharej mishan dokmeha dide nemishe mamnoon misham residegi koni

روز هفته

. سلام. احسنت برای کتابخانه ای که نوشتید
همونطور که تاریخ انتخاب میشه و موقع ست کردن روی تکس ویو با توجه به انتخاب تغییر میکنه اما روز هفتهاینطور نیست؟
چطور میشه روز هفته رو گرفت؟
ممنون میشم پاسخ بدید

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.