{"id":48442507,"url":"https://github.com/stacktipslab/custom-calendar-view","last_synced_at":"2026-04-06T16:04:19.290Z","repository":{"id":67929040,"uuid":"42468727","full_name":"StackTipsLab/custom-calendar-view","owner":"StackTipsLab","description":"The CustomCalendarView provides an easy and customizable calendar to create a Calendar. It dispaly the days of a month in a grid layout and allows to navigate between months","archived":false,"fork":false,"pushed_at":"2023-10-20T17:00:15.000Z","size":649,"stargazers_count":119,"open_issues_count":18,"forks_count":77,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-05-02T04:58:29.943Z","etag":null,"topics":["android","android-calendar","android-library","calendar-view","custom-calendar","hacktoberfest","hacktoberfest-accepted","hacktoberfest2023","snippets"],"latest_commit_sha":null,"homepage":"https://stacktips.com/articles/custom-calendar-view-library-in-android","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StackTipsLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-09-14T18:30:15.000Z","updated_at":"2024-04-24T20:43:35.000Z","dependencies_parsed_at":"2024-01-03T22:21:02.786Z","dependency_job_id":null,"html_url":"https://github.com/StackTipsLab/custom-calendar-view","commit_stats":null,"previous_names":["nilandev/custom-calendar-view-android","stacktipslab/custom-calendar-view-android","npanigrahy/custom-calendar-view"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/StackTipsLab/custom-calendar-view","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackTipsLab%2Fcustom-calendar-view","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackTipsLab%2Fcustom-calendar-view/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackTipsLab%2Fcustom-calendar-view/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackTipsLab%2Fcustom-calendar-view/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StackTipsLab","download_url":"https://codeload.github.com/StackTipsLab/custom-calendar-view/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackTipsLab%2Fcustom-calendar-view/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31479009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T14:34:32.243Z","status":"ssl_error","status_checked_at":"2026-04-06T14:34:31.723Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-calendar","android-library","calendar-view","custom-calendar","hacktoberfest","hacktoberfest-accepted","hacktoberfest2023","snippets"],"created_at":"2026-04-06T16:03:20.551Z","updated_at":"2026-04-06T16:04:19.281Z","avatar_url":"https://github.com/StackTipsLab.png","language":"Java","readme":"# Custom-Calendar-View\n\nTo use the CustomCalendarView in your application, you first need to add the library to your\napplication. You can do this either from Gradle, or Maven or by directly downloading the source code\nfrom GitHub.\n\nIf you enjoy this library, don’t forget to follow me on\nTwitter [@asknilan](https://www.twitter.com/asknilan) or visit my [stacktips.com](https://stacktips.com/).\n\n![Alt text](/screenshot.001.jpeg \"Custom Calendar View Library in Android\")\n\n## Features\n\nCurrently, it supports the following features:\n\n* Next and previous month's navigation\n* Allow various customization including background color for day, week, and title\n* Set custom typeface using setCustomTypeFace() method.\n* Show hide next previous month's overflow days\n* Set custom day options for the start day of the week. By default, it is set to Calendar.SUNDAY\n* Unlimited customizations for a day of the month using custom Decorators.\n* Allow you to handle events when the user changes month and day selection.\n\n### Gradle\n\nAdd it to your root `build.gradle` at the end of repositories:\n\n```groovy\n dependencyResolutionManagement {\n  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)\n  repositories {\n   mavenCentral()\n   maven { url 'https://jitpack.io' }\n  }\n }\n```\n\nStep 2: Add the dependency\n\n```groovy\n dependencies {\n         implementation 'com.github.StackTipsLab:custom-calendar-view:1.2.0'\n }\n```\n\n\n### Maven\n\n```xml\n\n\u003crepositories\u003e\n  \u003crepository\u003e\n      \u003cid\u003ejitpack.io\u003c/id\u003e\n      \u003curl\u003ehttps://jitpack.io\u003c/url\u003e\n  \u003c/repository\u003e\n \u003c/repositories\u003e\n\n```\n\n**Step 2** Add the dependency in the form\n\n```xml\n\n \u003cdependency\u003e\n     \u003cgroupId\u003ecom.github.StackTipsLab\u003c/groupId\u003e\n     \u003cartifactId\u003ecustom-calendar-view\u003c/artifactId\u003e\n     \u003cversion\u003e1.2.0\u003c/version\u003e\n \u003c/dependency\u003e\n```\n\n## Using CustomCalendarView Library\n\nThe GitHub project source includes a sample application, that is used for demonstrating the various\nfeatures currently supported by this library. Once the library is added to your project, you can\ninclude the CustomCalendarView into your activity/fragment layout using the following code snippets.\n\n```xml\n\n\u003ccom.stacktips.view.CustomCalendarView \n    android:id=\"@+id/calendar_view\"\n    android:layout_width=\"match_parent\" \n    android:layout_height=\"wrap_content\"\n    android:background=\"#ffffff\"\u003e\n\u003c/com.stacktips.view.CustomCalendarView\u003e\n```\n\nThe above code snippet will show the simple Calendar View with the default design. Now, you can use the\nfollowing attributes, to customize the appearance of the calendar.\n\n```xml\n\n\u003ccom.stacktips.view.CustomCalendarView \n        android:id=\"@+id/calendar_view\"\n        android:layout_width=\"match_parent\" \n        android:layout_height=\"wrap_content\"\n        android:background=\"@color/off_white\" \n        app:calendarBackgroundColor=\"@color/off_white\"\n        app:calendarTitleTextColor=\"@color/black\" \n        app:currentDayOfMonthColor=\"@color/blue\"\n        app:dayOfMonthTextColor=\"@color/black\" \n        app:dayOfWeekTextColor=\"@color/black\"\n        app:disabledDayBackgroundColor=\"@color/off_white\" \n        app:disabledDayTextColor=\"@color/grey\"\n        app:nextMonthNavigationIcon=\"@drawable/button_next_month_selector\"\n        app:previousMonthNavigationIcon=\"@drawable/button_previous_month_selector\"\n        app:selectedDayBackgroundColor=\"@color/blue\" \n        app:titleLayoutBackgroundColor=\"@color/white\"\n        app:weekLayoutBackgroundColor=\"@color/white\"\u003e\n\u003c/com.stacktips.view.CustomCalendarView\u003e\n```\n\nLet us now initialize the calendar view to control the various other appearances and behavior of\ncalendar using the following methods.\n\n```java\n//Initialize CustomCalendarView from layout\ncalendarView=(CustomCalendarView)findViewById(R.id.calendar_view);\n\n//Initialize calendar with date\nCalendar currentCalendar=Calendar.getInstance(Locale.getDefault());\n\n//Show Monday as the first date of the week\ncalendarView.setFirstDayOfWeek(Calendar.MONDAY);\n\n//Show/hide overflow days of a month\ncalendarView.setShowOverflowDate(false);\n\n//call refreshCalendar to update calendar the view\ncalendarView.refreshCalendar(currentCalendar);\n\n//Handling custom calendar events\ncalendarView.setCalendarListener(new CalendarListener(){\n        @Override\n        public void onDateSelected(Date date){\n                SimpleDateFormat df=new SimpleDateFormat(\"dd-MM-yyyy\");\n                Toast.makeText(MainActivity.this,df.format(date),Toast.LENGTH_SHORT).show();\n        }\n\n        @Override\n        public void onMonthChanged(Date date){\n                SimpleDateFormat df=new SimpleDateFormat(\"MM-yyyy\");\n                Toast.makeText(MainActivity.this,df.format(date),Toast.LENGTH_SHORT).show();\n        }\n});\n```\n\n## Using Custom TypeFace\n\n```java\n//Setting custom font\nfinal Typeface typeface=Typeface.createFromAsset(getAssets(),\"fonts/Arch_Rival_Bold.ttf\");\nif(null!=typeface){\n    calendarView.setCustomTypeface(typeface);\n    calendarView.refreshCalendar(currentCalendar);\n}\n```\n\nCustom Calendar View Library in Android Custom Font\n\n## Using Day Decorators\n\n```java\n//adding calendar day decorators\nList decorators=new ArrayList\u003c\u003e();\n        decorators.add(new ColorDecorator());\n        calendarView.setDecorators(decorators);\n        calendarView.refreshCalendar(currentCalendar);\n        Custom Calendar View Library in Android Decorator\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstacktipslab%2Fcustom-calendar-view","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstacktipslab%2Fcustom-calendar-view","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstacktipslab%2Fcustom-calendar-view/lists"}