J'ai regardé à travers la Widgets package et incroyablement, l'ADT n'a aucun contrôle de curseur! Cela vous met évidemment dans une position désavantageuse car il n'y a rien de déjà mis en œuvre pour que vous puissiez l'étendre ou le modifier.
Cependant, il existe ce guide sur le composant hacking together a custom slider component out of a ProgressBar. Cela pourrait être votre solution. L'auteur remplace la méthode onTouchEvent
pour définir la valeur de la barre de progression en fonction des coordonnées tactiles. Très intelligent. Cependant, comme une barre de progression ne peut afficher qu'une seule valeur, il est seulement possible d'afficher la limite inférieure ou supérieure en utilisant une seule barre de progression.
Ma suggestion est de créer un composant composé qui a une barre de progression toujours à 0% et une autre barre de progression qui est toujours à 100%. La deuxième barre est superposée à la première et ses coordonnées et sa largeur sont définies de sorte que son bord gauche représente la limite inférieure (x) et le bord droit la limite supérieure (x + largeur). Votre onTouchEvent
détectera si les coordonnées tactiles sont plus proches de la limite inférieure ou supérieure, puis commencera à ajuster cette limite jusqu'à ce qu'elle soit relâchée. Lorsque les limites changent, il vous suffit de repositionner et redimensionner la deuxième barre. Pourvu que vous puissiez positionner les composants absolument et au-dessus des autres composants, cela devrait être génial!
Avez-vous configuré un référentiel quelque part en plus du lien de téléchargement? – JJD
désolé pour la réponse tardive; Je l'ai téléchargé sur github: https://github.com/ovidiu-birgu/dual-knob-slider –