tutorial personalizar compact caldroid applandeo android android-calendar calendarview

personalizar - material calendarview android



Android CalendarView para mostrar eventos (5)

¿Qué le parece cambiar el color de ciertas fechas - usando android: dateTextAppearance y setDateTextAppearance (int)? Una vez fue descrito: cambiar el color de las fechas del calendario de Android. Puedes probar esto

Quiero mostrar un calendario con eventos usando diferentes colores en la fecha similar a la aplicación de calendario predeterminada. Pero no veo ninguna API en la vista de calendario predeterminada.

¿Puede alguien por favor dirigirme en la dirección correcta cómo proceder con esto? ¿Debo extender el calendario predeterminado y agregar mi propia funcionalidad? ¿O debería usar cuadros de texto de 5x5 con PageViewer y fragmentos?


El mes pasado pude implementar una pequeña vista de calendario usando Caldroid Caldroid .

Es flexible de usar y no es tan difícil obtener una vista de calendario personalizada como la implementación de onDraw desde CalendarView .

Verifique la vista que creé (solo siguiendo la documentación):

Y, por supuesto, puedes ir más allá de eso.



El widget de CalendarView incorporado no expone la capacidad de cambiar el color de las celdas de calendario en la vista de mes. Ver la fuente .

Puede probar los siguientes enfoques:

  1. Extiéndase desde CalendarView e implemente onDraw usted mismo. Tendrá que volver a implementar todo el comportamiento de dibujo existente, incluidos estos 4 métodos:

    protected void onDraw(Canvas canvas) { drawBackground(canvas); drawWeekNumbersAndDates(canvas); drawWeekSeparators(canvas); drawSelectedDateVerticalBars(canvas); }

  2. Implemente su propio CalendarView que permite personalizar celdas. Sugiero este proyecto como un buen lugar para comenzar, ya que admite células personalizadas.


Escribí mi propio CalendarView muy parecido al que se ve en los calendarios de Google. Da la capacidad de desplazarse entre meses, oyentes, agregar eventos y es un proyecto de gradle: https://github.com/SundeepK/CompactCalendarView . Utiliza pintura para hacer todo el dibujo, por lo que debería ser fácil cambiar para hacer lo que quieras.