Fancy year and month picker library for your android app
<dependency>
<groupId>com.github.twinkle942910</groupId>
<artifactId>monthyearpicker</artifactId>
<version>0.0.1</version>
<type>aar</type>
</dependency>
dependencies {
compile 'com.github.twinkle942910:monthyearpicker:0.0.1'
}
And you can pick a year | You can pick a month |
---|---|
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.
yearMonthPickerDialog.show();
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.
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.