• Stars
    star
    308
  • Rank 131,146 (Top 3 %)
  • Language
    Java
  • Created about 7 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CalendarView Personalizado para desarrolladores android

OneCalendarView

CalendarView Personalizado para desarrolladores android OneCalendarView es un CalendarView Personalizado que perimite a los desarrolladores android tener el mismo CalendarView en cualquier aplicacion android (API 16 o superior).

Capturas de pantalla

demo 9 demo 10 demo 11 demo 12
demo 13 demo 14 demo 15 demo 16

Live Demo app

usted puede ver una aplicacion demo en el siguiente enlace https://appetize.io/app/cymqjzvzaybypepxhnmn4hewx0

Instalaci贸n

en su archivo /app/build.gradle

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
       compile 'com.github.MorochoRochaDarwin:OneCalendarView:3.1.1'
}

Agregar la vista OneCalendarView a su Layout

  <com.darwindeveloper.onecalendar.views.OneCalendarView
        android:id="@+id/oneCalendar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

En sus Actividades o Fragments

Inicialice la vista y llame a sus 2 metodos obligatorios para capturar los eventos en el calendario (NOTA: de no llamar a estos metodos se producira un error en tiempo de ejecuci贸n).

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final OneCalendarView calendarView = (OneCalendarView) findViewById(R.id.oneCalendar);



        //el siguiente fragmento puede ser usado para capturar los swipes en el calendar
        calendarView.setOnCalendarChangeListener(new OneCalendarView.OnCalendarChangeListener() {

            /**
             * notifica al usuario que el calendario a cambiado al mes anterior
             */
            @Override
            public void prevMonth() {
                //hacer algo aqui
            }

            /**
             * notifica al usuario que el calendario a cambiado al mes siguiente
             */
            @Override
            public void nextMonth() {
                //hacer algo aqui
            }
        });


        //el siguiente fragmento de codigo muestra como obtener los datos de un dia en el calendario
        //ademas de realizar otras acciones
        calendarView.setOneCalendarClickListener(new OneCalendarView.OneCalendarClickListener() {

            /**
             * cuando se da click en un dia en el calendario mostrado
             *
             * @param day      un Objeto de tipo Day del cual podemos llara a su metodo getDate() para recuperar una fecha
             * @param position posicion desde 0-41, que ocupa en el calendario actual
             */
            @Override
            public void dateOnClick(Day day, int position) {
                //recuerde que en java los meses inician desde 0
            }

            /**
             * cuando se da click prolongado en un dia en el calendario mostrado
             *
             * @param day      un Objeto de tipo Day del cual podemos llara a su metodo getDate() para recuperar una fecha
             * @param position posicion desde 0-41, que ocupa en el calendario actual
             */
            @Override
            public void dateOnLongClick(Day day, int position) {

            }
        });

    }

Tambi茅n puede llamar a los dos metodos anterioes implementando las interfaces OneCalendarView.OnCalendarChangeListener y OneCalendarView.OneCalendarClickListener

calendarView.setOnCalendarChangeListener(this);
calendarView.setOneCalendarClickListener(this); 

Dise帽o completo

Usted puede agregar varios atributos a la vista en sus layouts y crear dise帽os unicos. A continuaci贸n un ejemplo completo

 <com.darwindeveloper.onecalendar.views.OneCalendarView
        android:id="@+id/oneCalendar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:backgroundColorDaysOfAnotherMonth="@color/colorPrimary"
        app:backgroundColorDaysOfMonth="#53c0c0c1"
        app:backgroundColorSelectedDay="#d2d2d2"
        app:calendarBackgroundColor="@color/colorPrimary"
        app:calendarLanguage="EN"
        app:currentDayBackgroundColor="#fad501"
        app:mainBackgroundColor="@color/colorPrimary"
        app:textColorDaysOfAnotherMonth="#fff"
        app:textColorDaysOfMonth="#fff"
        app:textColorMonthAndYear="@color/colorPrimary"
        app:textColorSelectedDay="#000000" />

Metodos

La clase OneCalendarView dispone de los siguientes metodos para facilitar y reducir la codificacion al usuario

Metodo Descripci贸n
void setMonthYear(int month, int year) este metodo configura el OneCalendarView a un mes y un a帽o especifico
String getStringMonth(int numMonth) retorna un mes como un string de pendiendo del idioma establecido en el OneCalendar (en java los meses inician en 0)
void setLanguage(int language) permite cambiar el lenguaje del OneCalendarView (SPANISH=0, ENGLISH=1)
int getCurrentMonth() retorna el mes actual
int getCurrentYear() retorna el a帽o actual
int getCurrentDayMonth() retorna el dia del mes actual
int getNumberOfDaysMonthYear(int year, int month) calcula el numero de dias que tiene un mes de una a帽o especifico
String getNameDay(int day, int month, int year) retorna el nombre de un dia especifico de una a帽o (en ingles o espa帽ol segun la configuracion)
int getMonth() retorna el mes visible en el calendario
int getYear() retorna el a帽o del mes visible en el calendario
void addDaySelected(int position) este metodo pinta un dia en el mes visible del calendario (posicion es un valor entre 0-41)
void removeDaySeleted(int position) este metodo remueve o despinta un dia en el mes visible del calendario (posicion es un valor entre 0-41)
boolean isDaySelected(int position) comprueba si un dia en el calendario del mes visible esta seleccionado

Interfaces

OneCalendarClickListener(OBLIGATORIA)

implementa todos los metodos necesarios para cuando se de clic o un clic prolongado en una fecha del calendario.

        /**
         * cuando se da click en un dia del mes mostrado
         *
         * @param day      un Objeto de tipo Day del cual podemos llara a su metodo getDate() para recuperar una fecha
         * @param position posicion desde 0-41, que ocupa en el calendario actual
         */
        void dateOnClick(Day day, int position);

        /**
         * cuando se da click prolongado en un dia del mes mostrado
         *
         * @param day      un Objeto de tipo Day del cual podemos llara a su metodo getDate() para recuperar una fecha
         * @param position posicion desde 0-41, que ocupa en el calendario actual
         */
        void dateOnLongClick(Day day, int position);

OnCalendarChangeListener(OBLIGATORIA)

implementa todos los metodos necesarios para notificar que ha habido un cambio en el mes del calendario

         /**
         * notifica al usuario que el calendario a cambiado al mes anterior
         */
        void prevMonth();

        /**
         * notifica al usuario que el calendario a cambiado al mes siguiente
         */
        void nextMonth();

More Repositories

1

flutter-facebook-auth

A flutter plugin to add login with facebook in your flutter app
Objective-C
189
star
2

flutter-meedu

Dart
34
star
3

HorizontalScrollMenu

Java
31
star
4

flutter-desde-cero-2022

Dart
27
star
5

flutter-meedu-player

Dart
21
star
6

curso-flutter-desde-cero-2021

Dart
19
star
7

flutter-google-maps-null-safety

Dart
18
star
8

RNSwipeVerify

JavaScript
13
star
9

flutter-cinema

Dart
10
star
10

flutter-puzzle-hack

Dart
10
star
11

curso-flutter-avanzado

Dart
9
star
12

flutter-avanzado

C++
9
star
13

douglas-peucker-dart

Dart
8
star
14

curso-flutter-ui-avanzadas

Dart
8
star
15

firebase-auth-with-flutter-meedu

Dart
7
star
16

flutter-super-hero-call

Dart
7
star
17

flutter-animations

Dart
6
star
18

riverpod-demo

C++
6
star
19

backend-simple-webrtc

JavaScript
5
star
20

backend-super-hero-call

TypeScript
5
star
21

backend-curso-flutter

JavaScript
5
star
22

dart-ip-geolocation-api

Dart
5
star
23

introduccion-al-desarrollo-backend-con-nodejs-y-express

JavaScript
4
star
24

flutter-puzzle-tutorial

Dart
4
star
25

flutter-tiktok-clone

Dart
4
star
26

flutter-simple-webrtc

Dart
3
star
27

curso-flutter-desde-cero

Dart
3
star
28

nuevo-curso-flutter-meedu

HTML
3
star
29

dashicons

Dart
3
star
30

curso-flutter-meedu

Dart
3
star
31

flutter-digitalocean-spaces

TypeScript
3
star
32

flutter-i18n

C++
3
star
33

flutter-ui-avanzadas

Dart
2
star
34

curso-nodejs

JavaScript
2
star
35

meedu-snippets

2
star
36

flutter-avanzado-webrtc-parte-2

Dart
2
star
37

flutter-unit-and-widget-testing

Dart
2
star
38

web-super-hero-call

TypeScript
2
star
39

frontend-curso-flutter

CSS
2
star
40

basic-websocket

TypeScript
2
star
41

flutter-navigator-2

C++
2
star
42

darwin-morocho

1
star
43

flutter-streams

C++
1
star
44

meedu-connect-server

TypeScript
1
star
45

sembast-demo

Dart
1
star
46

refresh-tokens

TypeScript
1
star
47

flutter-ui-challenge-music-player

Dart
1
star
48

flutter-w2w

Dart
1
star
49

flutter-android-simple-native-camera

Java
1
star
50

flutter-cloud-messaging

Dart
1
star
51

Facebook-SDK-Android

guia basica de como utilizar el sdk de facebook en tus aplicaciones android
Java
1
star
52

supabase-clean-architecture-demo

C++
1
star
53

curso-android-nativo-compose

Kotlin
1
star