web-dev-qa-db-fra.com

Android Barre de recherche avec deux pouces

Des variantes de cette question peuvent être trouvées partout sur Internet mais pas une réponse.

Je veux une barre de recherche avec une sélection de plage de deux pouces. Je suis prêt à le programmer moi-même mais je manque d'expérience avec Android. Quelqu'un pourrait-il me donner des indications sur où commencer? Je veux dire, je sais que je vais devoir étendre quelque chose (ProgressBar probablement), mais comment dois-je m'y prendre? Dois-je vraiment recréer toutes les fonctionnalités d'une barre de recherche standard, ou existe-t-il un moyen plus simple?

Les solutions complètes sont bien sûr également les bienvenues;)

55
SeeDoubleYou

Moi aussi, je cherchais cela, en vain. J'ai donc créé un nouveau widget, n'hésitez pas à l'utiliser: https://github.com/anothem/Android-range-seek-bar

Screenshot of RangeSeekBar

109
Stephan Tittel

"Moi aussi, je cherchais cela, en vain. J'ai donc créé un nouveau widget, n'hésitez pas à l'utiliser: https://code.google.com/p/range-seek-bar/ "

Cet exemple lié à Stephan fonctionne très bien! Cependant, l'utilisateur doit appuyer sur l'un des pouces pour obtenir une réponse. Je voulais que si l'utilisateur appuyait sur la barre, le pouce le plus proche se déplacerait vers cette position et fonctionnerait normalement.

J'ai implémenté cela dans l'exemple de code comme ceci:

private final Thumb getClosestThumb(float touchX)

{
    double xValue = screenToNormalized(touchX);        
    return (Math.abs(xValue - normalizedMinValue) < Math.abs(xValue - normalizedMaxValue)) ? Thumb.MIN : Thumb.MAX;
}

Et dans la "public boolean onTouchEvent(MotionEvent event)",

if(pressedThumb == null),
   pressedThumb = getClosestThumb(mDownMotionX);
27
Atte Backenhof

Une barre de recherche fenêtrée avec des icônes gauche et droite.
Taille de fenêtre minimale préréglable et anti crossover automatique.

Screenshot of windowed-seek-bar

Dépôt Mercurial sur https://bitbucket.org/nimbusgb/windowed-seek-bar

3
nimbusgb

J'ai utilisé la bibliothèque anothem/Android-range-seek-bar

https://github.com/anothem/Android-range-seek-bar

En xml

<org.florescu.Android.rangeseekbar.RangeSeekBar
            Android:id="@+id/pricebar_with_label"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            rsb:absoluteMinValue="20"
            rsb:absoluteMaxValue="150"
            Android:layout_marginLeft="10dp"
            Android:layout_marginRight="10dp"
            />

enter image description here

2
Nilesh Panchal

This est l'un des meilleurs que je puisse suggérer.

1
KishanSolanki124