Sobre el proyecto
CalendarView es un control de calendario para Android de código abierto creado por huanghaibin-dev. El autor evitó deliberadamente soluciones de contenedor convencionales como RecyclerView, ListView o ViewGroup, y en su lugar utiliza dibujo directo con Canvas, logrando así una velocidad de renderizado más rápida y un menor consumo de memoria. El proyecto se posiciona como un componente de calendario "elegante, universal y con UI libremente personalizable", adecuado para desarrolladores que necesitan integrar en sus apps selección de calendario, visualización de agendas, selección de rangos, etc.
En cuanto a las características principales, el control admite navegación en dirección vertical y horizontal, vistas semanal y mensual, día de inicio de semana personalizable y animaciones personalizadas al estilo iOS. La personalización de la UI adopta un enfoque hot-swap: los desarrolladores pueden reemplazar clases de vista como MonthView, WeekBar, WeekView, YearView, etc., para lograr apariencias que van desde un estilo sencillo hasta estilo chino, estilo de calendario de teléfonos Meizu, estilo completo a color, estilo con barra de progreso, estilo galaxia y muchos otros; el README incluye numerosas imágenes de vista previa de los efectos.
En cuanto al uso, el proyecto ofrece dos formas de dependencia, Gradle y Maven: al usar el paquete support se importa com.haibin:calendarview:3.6.8, y al usar Androidx se importa com.haibin:calendarview:3.7.1; requiere Android Studio 3.5 o superior. La documentación incluye guías de uso en inglés (QUESTION.md) y en chino (QUESTION_ZH.md), y proporciona ejemplos de reglas de ofuscación de ProGuard para conservar los constructores de las clases de vista personalizadas.
Cabe señalar que el autor indica claramente en el README que la versión final de código abierto en GitHub es la 3.7.1, y que parte del código fuente, como el calendario con cambio vertical/horizontal y el calendario estilo iOS, ya no es de código abierto, por lo que es posible que las funciones avanzadas posteriores no estén disponibles en el repositorio de código abierto. El proyecto utiliza la licencia Apache License 2.0 y puede usarse libremente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.