À propos du projet
CalendarView est un contrôle de calendrier Android open source développé par huanghaibin-dev. L'auteur a délibérément évité les solutions de conteneurs classiques telles que RecyclerView, ListView ou ViewGroup, et a opté pour un dessin direct sur Canvas, ce qui permet d'obtenir une vitesse de rendu plus rapide et une consommation de mémoire plus faible. Le projet se positionne comme un composant de calendrier « élégant, universel et personnalisable librement au niveau de l'UI », adapté aux développeurs qui ont besoin d'intégrer dans leur application des scénarios tels que la sélection de dates, l'affichage d'agendas ou la sélection de plages.
En ce qui concerne les fonctionnalités principales, le contrôle prend en charge la navigation verticale et horizontale, les vues hebdomadaire et mensuelle, la personnalisation du premier jour de chaque semaine, et propose des animations personnalisées de style iOS. La personnalisation de l'UI repose sur un mécanisme de type hot-plug : les développeurs peuvent remplacer les classes de vue MonthView, WeekBar, WeekView, YearView, etc., pour obtenir divers apparences allant d'un style épuré à un style chinois, un style de calendrier de téléphone Meizu, un style coloré complet, un style barre de progression, un style galaxie, etc. Le README fournit de nombreuses images d'aperçu des rendus.
En matière d'utilisation, le projet propose deux modes de dépendance, Gradle et Maven : avec le package support, il faut intégrer com.haibin:calendarview:3.6.8 ; avec Androidx, il faut intégrer com.haibin:calendarview:3.7.1. Android Studio 3.5 ou une version supérieure est requis. La documentation fournit également des guides d'utilisation en anglais (QUESTION.md) et en chinois (QUESTION_ZH.md), ainsi qu'un exemple de règles de confusion ProGuard destiné à conserver les constructeurs des classes de vue personnalisées.
Il convient de noter que l'auteur précise clairement dans le README que la version finale open source sur GitHub est la 3.7.1, et que certaines parties du code source, comme le calendrier à bascule verticale/horizontale et le calendrier façon iOS, ne sont plus open source ; par conséquent, les fonctionnalités avancées ultérieures pourraient ne pas être disponibles dans le dépôt open source. Le projet est distribué sous licence Apache License 2.0 et peut être utilisé librement.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.