Calendario con vista semanal para Android

Algo que me gusta de Android es su comunidad, gracias a ella podemos encontrar todos los días un nuevo recurso listo para utilizar en nuestras aplicaciones.

Android Week View es un calendario gratuito, muy fácil de utilizar, que permite cambiar la vista para visualizar los eventos de forma semanal, diaria o simplemente agrupando tantos días como sean posibles visualizar según el dispositivo que estemos empleando: tablet o móvil.

  • Dentro de las características más destacables podemos encontrar:
  • Vista semanal del calendario.
  • Vista diaria.
  • Scroll tanto vertical como horizontal.
  • Posibilidad de configuración del scroll “infinito”.

También podemos destacar que la personalización visual es muy sencilla, en gran parte podemos adecuar este componente directamente desde el XML.

calendario con vista semanal para android

La instalación se puede realizar de dos formas: vía Maven o Gradle.

Via Mavel:

<dependency>
  <groupId>com.github.alamkanak</groupId>
  <artifactId>android-week-view</artifactId>
  <version>1.0.3</version>
  <type>aar</type>
</dependency>

Via Gradle:

compile 'com.github.alamkanak:android-week-view:1.0.3'

Luego simplemente agregamos el calendario al XML como un componente personalizado:

<com.alamkanak.weekview.WeekView
        android:id="@+id/weekView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:eventTextColor="@android:color/white"
        app:textSize="12sp"
        app:hourHeight="60dp"
        app:headerColumnPadding="8dp"
        app:headerColumnTextColor="#8f000000"
        app:headerRowPadding="12dp"
        app:columnGap="8dp"
        app:noOfVisibleDays="3"
        app:headerRowBackgroundColor="#ffefefef"
        app:dayBackgroundColor="#05000000"
        app:todayBackgroundColor="#1848adff"
        app:headerColumnBackground="#ffffffff"/>

Y desde Java lo controlamos:

// Get a reference for the week view in the layout.
mWeekView = (WeekView) findViewById(R.id.weekView);

// Set an action when any event is clicked.
mWeekView.setOnEventClickListener(mEventClickListener);

// The week view has infinite scrolling horizontally. We have to provide the events of a
// month every time the month changes on the week view.
mWeekView.setMonthChangeListener(mMonthChangeListener);

// Set long press listener for events.
mWeekView.setEventLongPressListener(mEventLongPressListener);

Este proyecto posee varias opciones perfectamente documentadas para mejorar y adecuar el funcionamiento del componente a nuestro proyecto, les recomiendo visitar el sitio oficial del recurso para explotar al máximo sus posibilidades.

Android Week View es un proyecto liberado bajo licencia Apache 2.0, licencia que garantiza su libre utilización y/o modificación.

Categorizado en: