diff --git a/app/src/main/java/ir/hamsaa/MainActivity.java b/app/src/main/java/ir/hamsaa/MainActivity.java
index 46eb631..ac974f2 100644
--- a/app/src/main/java/ir/hamsaa/MainActivity.java
+++ b/app/src/main/java/ir/hamsaa/MainActivity.java
@@ -55,4 +55,39 @@ public void onDismissed() {
picker.show();
}
+ public void showCalendarInDarkMode(View v) {
+ Typeface typeface = Typeface.createFromAsset(getAssets(), "Shabnam-Light-FD.ttf");
+
+ PersianCalendar initDate = new PersianCalendar();
+ initDate.setPersianDate(1370, 3, 13);
+
+ picker = new PersianDatePickerDialog(this)
+ .setPositiveButtonString("باشه")
+ .setNegativeButton("بیخیال")
+ .setTodayButton("امروز")
+ .setTodayButtonVisible(true)
+ .setMinYear(1300)
+ .setMaxYear(PersianDatePickerDialog.THIS_YEAR)
+ .setInitDate(initDate)
+ .setActionTextColor(Color.GRAY)
+ .setTypeFace(typeface)
+ .setBackgroundColor(Color.BLACK)
+ .setTitleColor(Color.WHITE)
+ .setActionTextColor(Color.WHITE)
+ .setPickerBackgroundDrawable(R.drawable.darkmode_bg)
+ .setCancelable(false)
+ .setListener(new Listener() {
+ @Override
+ public void onDateSelected(PersianCalendar persianCalendar) {
+ Toast.makeText(MainActivity.this, persianCalendar.getPersianYear() + "/" + persianCalendar.getPersianMonth() + "/" + persianCalendar.getPersianDay(), Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onDismissed() {
+
+ }
+ });
+ picker.show();
+ }
+
}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index d5d1541..97328c2 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,9 +1,10 @@
-
-
+
+
+
diff --git a/persiandatepicker/src/main/java/ir/hamsaa/persiandatepicker/PersianDatePicker.java b/persiandatepicker/src/main/java/ir/hamsaa/persiandatepicker/PersianDatePicker.java
index b0b2c30..19b8a8f 100644
--- a/persiandatepicker/src/main/java/ir/hamsaa/persiandatepicker/PersianDatePicker.java
+++ b/persiandatepicker/src/main/java/ir/hamsaa/persiandatepicker/PersianDatePicker.java
@@ -8,6 +8,7 @@
import android.os.Parcel;
import android.os.Parcelable;
import android.support.annotation.ColorInt;
+import android.support.annotation.DrawableRes;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
@@ -129,6 +130,18 @@ public String format(int i) {
updateViewData();
}
+ public void setBackgroundColor(@ColorInt int color) {
+ yearNumberPicker.setBackgroundColor(color);
+ monthNumberPicker.setBackgroundColor(color);
+ dayNumberPicker.setBackgroundColor(color);
+ }
+
+ public void setBackgroundDrawable(@DrawableRes int drawableBg) {
+ yearNumberPicker.setBackgroundResource(drawableBg);
+ monthNumberPicker.setBackgroundResource(drawableBg);
+ dayNumberPicker.setBackgroundResource(drawableBg);
+ }
+
public void setMaxYear(int maxYear) {
this.maxYear = maxYear;
updateViewData();
diff --git a/persiandatepicker/src/main/java/ir/hamsaa/persiandatepicker/PersianDatePickerDialog.java b/persiandatepicker/src/main/java/ir/hamsaa/persiandatepicker/PersianDatePickerDialog.java
index f85ad41..f9d4395 100644
--- a/persiandatepicker/src/main/java/ir/hamsaa/persiandatepicker/PersianDatePickerDialog.java
+++ b/persiandatepicker/src/main/java/ir/hamsaa/persiandatepicker/PersianDatePickerDialog.java
@@ -5,12 +5,14 @@
import android.graphics.Typeface;
import android.support.annotation.ColorInt;
import android.support.annotation.ColorRes;
+import android.support.annotation.DrawableRes;
import android.support.annotation.StringRes;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.AppCompatButton;
import android.util.Log;
import android.view.View;
+import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.Date;
@@ -38,8 +40,12 @@ public class PersianDatePickerDialog {
private String todayButtonString = "امروز";
private boolean todayButtonVisibility = false;
private int actionColor = Color.GRAY;
+ private int backgroundColor = Color.WHITE;
+ private int titleColor = Color.parseColor("#111111");
private boolean cancelable = true;
private boolean forceMode;
+ private int pickerBackgroundColor;
+ private int pickerBackgroundDrawable;
public PersianDatePickerDialog(Context context) {
this.context = context;
@@ -127,6 +133,25 @@ public PersianDatePickerDialog setCancelable(boolean cancelable) {
return this;
}
+ public PersianDatePickerDialog setBackgroundColor(@ColorInt int bgColor) {
+ this.backgroundColor = bgColor;
+ return this;
+ }
+
+ public PersianDatePickerDialog setTitleColor(@ColorInt int titleColor) {
+ this.titleColor = titleColor;
+ return this;
+ }
+
+ public PersianDatePickerDialog setPickerBackgroundColor(@ColorInt int color) {
+ this.pickerBackgroundColor = color;
+ return this;
+ }
+
+ public PersianDatePickerDialog setPickerBackgroundDrawable(@DrawableRes int drawableBg) {
+ this.pickerBackgroundDrawable = drawableBg;
+ return this;
+ }
public void show() {
@@ -138,6 +163,17 @@ public void show() {
final AppCompatButton positiveButton = v.findViewById(R.id.positive_button);
final AppCompatButton negativeButton = v.findViewById(R.id.negative_button);
final AppCompatButton todayButton = v.findViewById(R.id.today_button);
+ final LinearLayout container = v.findViewById(R.id.container);
+
+ container.setBackgroundColor(backgroundColor);
+ dateText.setTextColor(titleColor);
+
+
+ if (pickerBackgroundColor != 0) {
+ datePicker.setBackgroundColor(pickerBackgroundColor);
+ } else if (pickerBackgroundDrawable != 0) {
+ datePicker.setBackgroundDrawable(pickerBackgroundDrawable);
+ }
if (maxYear > 0) {
datePicker.setMaxYear(maxYear);
@@ -253,4 +289,5 @@ private void updateView(TextView dateText) {
dateText.setText(PersianHelper.toPersianNumber(date));
}
+
}
diff --git a/persiandatepicker/src/main/res/layout/dialog_picker.xml b/persiandatepicker/src/main/res/layout/dialog_picker.xml
index e587c5e..a26c8bc 100644
--- a/persiandatepicker/src/main/res/layout/dialog_picker.xml
+++ b/persiandatepicker/src/main/res/layout/dialog_picker.xml
@@ -2,8 +2,9 @@
+ android:layout_marginStart="4dp"
+ android:layout_weight="1"
+ android:background="#fff" />
+ android:layout_weight="1"
+ android:background="#fff" />
+ android:layout_marginStart="2dp"
+ android:layout_weight="1"
+ android:background="#fff" />