Pierry / MonthYearPicker

Fancy year and month picker library for your android app - pt

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MonthYearPicker

Fancy year and month picker library for your android app

How to use?

Maven

<dependency>
  <groupId>com.github.twinkle942910</groupId>
  <artifactId>monthyearpicker</artifactId>
  <version>0.0.1</version>
  <type>aar</type>
</dependency>

Gradle

dependencies {
    compile 'com.github.twinkle942910:monthyearpicker:0.0.1'
}

Demonstration

And you can pick a year You can pick a month

You can simply create your dialog in code, using next lines

Calendar calendar = Calendar.getInstance();
calendar.set(2010,01,01);

YearMonthPickerDialog yearMonthPickerDialog = new YearMonthPickerDialog(this, calendar, new YearMonthPickerDialog.OnDateSetListener() {
            @Override
            public void onYearMonthSet(int year, int month) {
                Calendar calendar = Calendar.getInstance();
                calendar.set(Calendar.YEAR, year);
                calendar.set(Calendar.MONTH, month);

                SimpleDateFormat dateFormat = new SimpleDateFormat("MMMM yyyy");

                yearMonth.setText(dateFormat.format(calendar.getTime()));
            }
        });

1st argument - Context.

2nd - Calendar.

3nd - Date set listener.

And after this just show it whenever you need it to appear.

yearMonthPickerDialog.show();

If you want to add your style then add themeId to the constructor as a third argument

for exemple:

Add your custom style to android resources

   <!-- Dialog default theme. -->
    <style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
        <item name="colorControlNormal">@android:color/white</item>
        <item name="colorControlActivated">@color/colorPrimary</item>
        <item name="textColorAlertDialogListItem">@android:color/white</item>
        <item name="colorAccent">@color/colorPrimary</item>
        <item name="android:textColorPrimary">@android:color/black</item>
        <item name="android:windowBackground">@drawable/dialog_background</item>
    </style>

It would add colors to the controls and text. Then add a content drawable for backgound. Example:

<?xml version="1.0" encoding="utf-8"?>

<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetLeft="16dp"
    android:insetTop="16dp"
    android:insetRight="16dp"
    android:insetBottom="16dp">

    <shape android:shape="rectangle">
        <corners android:radius="2dp" />
        <solid android:color="@color/colorMainBackground" />
    </shape>

</inset>

use example : R.style.MyDialogTheme

And you will have your custom theme applied.

Customizing dialog title

If you want to change title text color, then add a int color value as a 4th constructor parameter.

use example : R.color.MyTextTitleColor

Also, if you want to change color of title view, you have to change you main theme primary color, because it depends on it's value.

Set a custom year range

If you want the displayed values of year vary within a range, you have to set the first (min) and the last (max) year:

yearMonthPickerDialog.setMinYear(2000);
yearMonthPickerDialog.setMaxYear(2020);

Check demonstraction project for more details.

About

Fancy year and month picker library for your android app - pt

License:Apache License 2.0


Languages

Language:Java 100.0%