Android CalendarView pour afficher les événements

je veux montrer un calendrier avec des événements en utilisant des couleurs différentes à la date similaire à L'application Calendrier par défaut. Mais je ne vois pas une telle API sur la vue calendrier par défaut.

est-ce que quelqu'un peut m'indiquer la bonne direction comment procéder? Dois-je étendre le calendrier par défaut et ajouter ma propre fonctionnalité? Ou devrais-je utiliser des boîtes de texte 5x5 avec PageViewer et des fragments?

25
demandé sur blahdiblah 2013-05-15 07:21:48

5 réponses

le widget CalendarView intégré n'expose pas la possibilité de changer la couleur des cellules du calendrier en mode mois. Voir la source .

vous pourriez essayer les approches suivantes:

  1. Étendre à partir de CalendarView et de mettre en œuvre onDraw vous-même. Vous devrez réimposer tous les comportements de dessin existants, y compris ces 4 méthodes:

    protected void onDraw(Canvas canvas) {
        drawBackground(canvas);
        drawWeekNumbersAndDates(canvas);
        drawWeekSeparators(canvas);
        drawSelectedDateVerticalBars(canvas);
    }
    
  2. implémentez votre propre CalendarView qui permet de personnaliser les cellules. Je suggère ce projet comme un bon endroit pour commencer, car il soutient déjà des cellules personnalisées.

19
répondu nas 2013-11-06 00:29:35

le mois dernier j'ai pu implémenter une petite vue de calendrier en utilisant Caldroid https://github.com/roomorama/Caldroid .

c'est flexible à utiliser et il n'est pas si difficile d'obtenir une vue de calendrier personnalisée que la mise en œuvre onDraw du CalendarView .

Vérifiez la vue que j'ai créée (juste en suivant la documentation):

Custom calendar view using Caldroid

et bien sûr vous peut aller au-delà.

10
répondu Alejandro Ocampo 2015-07-03 20:04:30

j'ai écrit mon propre CalendarView un peu comme celui que J'ai vu dans Google calendars. Donne la possibilité de faire défiler entre les mois, les auditeurs, ajouter des événements et est un projet gradle: https://github.com/SundeepK/CompactCalendarView . Il utilise la peinture pour faire tout le dessin de sorte qu'il devrait facile à changer pour faire tout ce que vous voulez.

5
répondu Sun 2015-06-10 11:51:22

le projet suivant est la meilleure alternative que j'ai vu jusqu'à présent pour permettre l'affichage d'images spécifiques à un événement dans une cellule de date sur le calendrier:

https://github.com/tyczj/ExtendedCalendarView

4
répondu Farrukh Najmi 2014-03-28 13:34:43

Que Diriez - vous de changer la couleur de certaines dates-en utilisant android: dateTextAppearance et setDateTextAppearance (int)? Il a été décrit: la couleur de changement de dates du calendrier android Vous pouvez l'essayer

0
répondu Maro 2017-05-23 12:18:18