WeekCalendar
                                
                                 WeekCalendar copied to clipboard
                                
                                    WeekCalendar copied to clipboard
                            
                            
                            
                        A simple weekly calendar.
I AM NOT WORKING ON THIS LIBRARY ANYMORE. I AM NOT VERY PROUD OF THEY WAY I WROTE THIS WIDGET :grin:. I WOULD RECOMMEND TO USE CALENDAR AS A CUSTOM VIEW INSTEAD OF ADDING IT AS GRADLE DEPENDENCY. FORKS + PRS ARE WELCOME.

WeekCalendar is a library which provides a weekly calendar.
The sample project includes the usage of the library. Support for Android 4.0 and up.Feel free to fork or issue pull requests on github. Issues can be reported on the github issue tracker.
Demo
 
Setup
Gradle
dependencies {
   compile 'noman.weekcalendar:weekcalendar:1.0.6'
}
Maven
<dependency>
  <groupId>noman.weekcalendar</groupId>
  <artifactId>weekcalendar</artifactId>
  <version>1.0.6</version>
</dependency>
Sample Usage
 <noman.weekcalendar.WeekCalendar
    android:id="@+id/weekCalendar"
    android:layout_width="match_parent"
    android:layout_height="65dp"
    android:background="@color/colorPrimary"/>
Theme the calendar
There are a few xml attributes to customise the calendar. If you feel that any customization option is missing, let me know.- numOfPages
- daysTextSize
- daysTextColor
- daysBackgroundColor
- weekTextSize
- weekTextColor
- weekBackgroundColor
- selectedBgColor
- todaysDateBgColor
- todaysDateTextColor
- dayNameLength
- hideNames
Example
 <noman.weekcalendar.WeekCalendar
   android:id="@+id/weekCalendar"
   android:layout_width="match_parent"
   android:layout_height="65dp"
   android:background="@color/colorPrimary"
   app:numOfPages="150"
   app:dayNameLength="threeLetters"
   app:todaysDateBgColor="#ffffff"
   app:todaysDateTextColor="#000000"/>
Explained
- numOfPagesby default, calendar has 100 pages. You can scroll 49 to left and 49 to right. Using this attribute you can set number of pages. You can send it to 1000, it depends on requirements.
- daysTextSizeday means day of the month. By default text size is- 17sp.
- daysTextColorby default the day text color is set to be white.
- daysBackgroundColorif you have- colorPrimaryattribute in- color.xml, then the backgroud color will be that one. Otherwise the purple color shown in the demo.
- weekTextSizeweek means day of the week,i.e (S,M,T ..). By default text size is- 17sp.
- weekTextColorby default the week day text color is set to be white.
- weekBackgroundColorsame as- daysBackgroundColor
- selectedBgColorBy default, its color is set to be- colorAccent, if you've that attribute in attribute in- color.xml, then the backgroud color will be that one. Otherwise the pink color shown in the demo.
- todaysDateBgColortodays date background color, same as- selectedBgColor.
- todaysDateTextColortodays date text color, by default the text color is set to be white.
- dayNameLengthweek day name length,- singleLettermeans (S,M,T..) and- threeLettersmeans (Sun, Mun, Tue..)
- hideNames, set this attribute to hide name of week days.
Impelement Listener
`OnDateClickListener` returns `DateTime` object. `DateTime` is class available in Joda Time. I will recommend using this library if you are playing with date and time.weekCalendar.setOnDateClickListener(new OnDateClickListener() {
        @Override
        public void onDateClick(DateTime dateTime) {
            Toast.makeText(MainActivity.this, 
            "You Selected " + dateTime.toString(), Toast.LENGTH_SHORT).show();
        }
    });
See the sample project for usage of methods like
- reset()
- moveToNext()
- moveToPrevious()
- setSelectedDate(DateTime)
- setStartDate(DateTime)
Libraries Used
License
Copyright (c) 2015 Noman Rafique
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
