Clavier virtuel

Étiquetté : 

  • Clavier virtuel

    Posté par Geoffroy sur 24 mars 2023 à 9h13

    Bonjour à tous,

    Je me permets de partager une modeste astuce suite à mes laborieux débuts sur un iPad.

    Quand j’utilise une appli sur iPad et que j’ai des champs texte à remplir, le clavier virtuel occupe la moitié de l’écran. Même le clavier flottant n’est pas très pratique car, pour saisir des chiffres, il faut constamment cliquer sur le bouton 123.

    Alors j’ai développé un petit clavier numérique dans PowerApps qui apparait chaque fois qu’on clique dans un champ TextInput demandant exclusivement des nombres ou des dates. Il s’agit d’un simple conteneur avec des boutons.

    (ne faites pas attention aux couleurs, j’ai toujours eu un goût peu sûr en matière de design 😉)

    Chaque bouton avec un chiffre ou un symbole alimente une collection par la commande suivante dans son OnSelect :

    Set(varChiffre;Self.Text);; Switch(varChoix;1;Collect(colNombre1;varChiffre);2;Collect(colNombre2;varChiffre);3;Collect(colNombre3;varChiffre);4;Collect(colNombre4;varChiffre))

    Pour faire des boutons ronds, on joue sur la propriété Rayon de la bordure.

    Supposons qu’on ait 4 TextInput à alimenter. Chacun aura comme propriété Default : Concat(colNombre1;Value;””) pour TextInput1, Concat(colNombre2;Value;””) pour TextInput2, etc…

    Dans la propriété OnSelect, on va écrire Set(varClavier;true);;Set(varChoix;1) pour TextInput1, Set(varClavier;true);;Set(varChoix;2) pour TextInput2, etc…

    Le bouton « C » efface les entrées du TextInput courant. Dans son OnSelect, on va trouver Switch(varChoix;1;Clear(colNombre1);2;Clear(colNombre2);3;Clear(colNombre3);4;Clear(colNombre4))

    Le bouton avec la croix ferme le clavier avec Set(varClavier;false) dans son OnSelect.

    Evidemment, il faudra choisir un emplacement adéquat pour afficher le clavier, de manière qu’il ne gêne pas le remplissage des champs. De même, le clavier flottant de l’iPad s’affichera quand même systématiquement mais on peut le déplacer aisément.

    Si vous utilisez le contenu des champs pour faire des calculs, n’oubliez pas de convertir les entrées en nombre (car c’est du texte à la base) grâce à Value(TextInput1.Text).

    On peut certainement améliorer ce composant (et je suis sûr que vous trouverez des idées 😉).

    PostID=e1bWpjQKoI6KKGy

    Geoffroy a répondu Il y a 7 mois, 2 semaines 1 Membre · 0 Réponses
  • 0 Réponses

Désolé, aucune réponse n’a été trouvée.

Connectez-vous pour répondre.