Coder Social home page Coder Social logo

khetanrajesh / customcalendar Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 1.0 375 KB

The CustomCalendar provides an easy and customizable calendar which can be added to your Android Project. It has a detailed view which diplays the month and a collapsed view . A user can swipe across to change dates and see the events added .

Java 100.00%
custom-calendar android calendar android-calendar-events android-calendar

customcalendar's Introduction

CustomCalendar

A customizable calendar for android.

Installation

Add the dependency to your build.gradle

compile 'com.rajesh.customcalendar:app:1.0.1'

Usage

The simplest way to add calendar to your app:

  <com.rajesh.customcalendar.Calendar
        android:id="@+id/customCalendar"
        app:identifier="customCalendar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
  • 'identifier' is a mandatory attribute , value of which should be the id of the view .

Using Attributes

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical">
    <com.rajesh.customcalendar.Calendar
       app:startYear="2006"
       app:endYear="2017"
       app:monthYearTextColor="@android:color/black"
       app:monthYearBackgroundColor="@android:color/holo_green_dark"
       app:todayTextColor="@android:color/holo_green_dark"
       app:todayBackgroundColor="@android:color/black"
       app:expandedCalendarBackgroundColor="@android:color/holo_green_dark"
       app:expandedCalendarTextColor="@android:color/holo_blue_dark"
       app:expandedCalendarSelectedColor="@android:color/holo_red_dark"
       app:calendarBackground="@android:color/holo_green_dark"
       app:calendarTextColor="@android:color/holo_purple"
       app:calendarSelectedColor="@android:color/white"
       app:eventDotColor="@android:color/white"
       android:id="@+id/customCalendar"
       app:identifier="customCalendar"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       />
</LinearLayout>

Methods

  • getTodayDate() - Returns today's date
  • getSelected() - Returns current selected date
  • setEventDates(ArrayList<LocalDate>) - Add events to a list of dates
  • addEvent(LocalDate) - Add event to a date
  • deleteEvent(LocalDate) - DeleteEvent from a date
  • getEventDates - Returns array of dates which has events.
  • deleteEvent(LocalDate) - DeleteEvent from a date
  • deleteEvent(LocalDate) - DeleteEvent from a date

Listen to Calendar Events

 calendarInstance.setCalendarListener(new Calendar.CalendarListener() {
          @Override
          public void onExpand() {
           //called on calendar expand
          }
          @Override
          public void onCollapse() {
          //called on calendar collapse
          }
          @Override
          public void onDateChange(LocalDate date) {
          //called when calendar selected date changes
          }
          @Override
          public void onTodayClick() {
          //when today button clicked
          }
      });

Setting calendar colors

  • setEventDotColor(int color)
  • setMonthYearTextColor(int color)
  • setMonthYearBackgroundColor(int color)
  • setExpandedCalendarSelectedColor(int color)
  • setExpandedCalendarTextColor(int color)
  • setExpandedCalendarBackgroundColor(int color)
  • setTodayBackgroundColor(int color)
  • setTodayTextColor(int color)
  • setCalendarBackground(int color)
  • setCalendarTextColor(int color)
  • setCalendarSelectedColor(int color)

Note: color here is the color resource id

Questions?

Feel free to contact me in twitter or create an issue

customcalendar's People

Contributors

khetanrajesh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

raij786

customcalendar's Issues

error while want to expand calendar

i already set calendar background color right in .xml or in.java
app:expandedCalendarBackgroundColor="@android:color/darker_gray"
or
mCalendars.setExpandedCalendarBackgroundColor(R.color.darkgray);
But it always send a error message.

can you help me to resolve this:

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.*.*.desain_andon_new, PID: 7768 java.lang.NullPointerException: Attempt to invoke virtual method 'int com.rajesh.customcalendar.Calendar.getExpandedCalendarBackgroundColor()' on a null object reference at com.rajesh.customcalendar.CalendarFragment.onCreateView(CalendarFragment.java:95) at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852) at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366) at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2243) at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:654) at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:168) at android.support.v4.view.ViewPager.populate(ViewPager.java:1244) at android.support.v4.view.ViewPager.populate(ViewPager.java:1092) at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1622) at android.view.View.measure(View.java:17547) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1083) at android.widget.LinearLayout.onMeasure(LinearLayout.java:615) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:401) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2615) at android.view.View.measure(View.java:17547) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2015) at android.view.ViewRootImpl.measureHierarch

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.