Jump to content

View Agenda / Calendrier fortement customisable


bsegonnes

Recommended Posts

Bonjour,

 

Un client me demande un Agenda/Calendrier pouvant passer des vues : Jour/Semaine/Mois, et très customisable 

 

  • modifier à volonté (ajout d'icones, fontes, couleurs) le composant en haut de l'affichage et qui affiche le nom et chiffre du jour
  • bien sûr modifier les fontes, couleurs, fonds, etc du contenu (colonne verticale avec soit les heures, soit les jours, soit grid avec les jours du mois)
  • afficher une ligne horizontale montrant l'heure courrante
  • se déplacer par appel à une méthode Java à un jour/semaine/mois donné
  • se déplacer par 'slide' du doigt vers la gauche/droite sur d'autres la période précédentes/suivante
  • afficher pour chaque jour plusieurs agendas perso en choisissant la couleur & forme (gros rectangle, petit rectangle barré, etc...)
  • pouvoir faire qque chose lors d'un clic sur un agenda (quelle date/heure, quel salarié/couleur de l'agenda affiché par dessus : est choisi)
  • si on pouvait aussi afficher par dessus un agenda des jours fériés officiels (dépend de la localisation GPS de l'appareil) ce serait bien
 
Cà existe en librairie externe (MonBeauCalendarCustomisableView) ? 
ou bien : faut tout coder sois-même ?
 
Merci pour vos réponses  (même si elles feront pas plaisir :-)
Link to comment
Share on other sites

  • 7 months later...

  • modifier à volonté (ajout d'icones, fontes, couleurs) le composant en haut de l'affichage et qui affiche le nom et chiffre du jour

-> A toi de tout coder. Si tu fais du Material Design, tu peux gérer ça avec la status bar de ton application

  • bien sûr modifier les fontes, couleurs, fonds, etc du contenu (colonne verticale avec soit les heures, soit les jours, soit grid avec les jours du mois)

-> A toi de tout coder aussi. Pour les fontes, tu peux mettre des .ttf et .otf dans le répertoire asset à la racine de ton projet et les charger avec loadFromAsset dans ton application. Set la typeface sur tes textview et dérivés avec .setTypeface

  • afficher une ligne horizontale montrant l'heure courrante

-> Simple à coder ;)

  • se déplacer par appel à une méthode Java à un jour/semaine/mois donné

-> A coder aussi

  • se déplacer par 'slide' du doigt vers la gauche/droite sur d'autres la période précédentes/suivante

-> Il existe des container qui te permettent de faire ça dans Android. Tu peux en trouver des plus complets sur Android Arsenal si tu veux

  • afficher pour chaque jour plusieurs agendas perso en choisissant la couleur & forme (gros rectangle, petit rectangle barré, etc...)

-> A coder par toi même aussi ;)

  • pouvoir faire qque chose lors d'un clic sur un agenda (quelle date/heure, quel salarié/couleur de l'agenda affiché par dessus : est choisi)

-> Implemente l'interface OnClickListener sur les views qui constituent ton agenda

  • si on pouvait aussi afficher par dessus un agenda des jours fériés officiels (dépend de la localisation GPS de l'appareil) ce serait bien

-> Tu peux le faire par GPS oui, si tu disposes de la liste des jours fériés par pays. Sinon c'est plus simple en utilisant la Locale du téléphone : Locale.getDefault() peux te donner le pays pour lequel le téléphone est configuré

 

 

 

En somme non, il n'existe pas de view magique pour faire des calendriers.

Après tu peux t'inspirer de ce qui se faire sur Android Arsenal :

https://android-arsenal.com/search?q=calendar

Edited by yochi
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...