Zoeken…


Invoering

Een aanpassing van de Android RangeSeekBar voorgesteld door Alex Florescu op https://github.com/anothem/android-range-seek-bar

Hiermee kunt u een stapwaarde (increment) definiëren bij het verplaatsen van de zoekbalk

Opmerkingen

1- Voeg het incrementkenmerk toe in attrs.xml

<attr name="increment" format="integer|float"/>

2- Definieer een standaardwaarde in RangeSeekBar.java en maak ook het kenmerk

private static final int DEFAULT_INCREMENT = 1;
private int increment;

3- Initialiseer de incrementwaarde in private void init (Context context, AttributeSet attrs)

if (attrs == null) 
    increment = DEFAULT_INCREMENT;
else 
    increment = a.getInt(R.styleable.RangeSeekBar_increment, DEFAULT_INCREMENT);

4- Definieer de incrementwaarde in beveiligde gesynchroniseerde leegte op Draw (@NonNull Canvas canvas)

U moet de waarde minText en maxText vervangen. Dus in plaats van:

  • minText = valueToString (getSelectedMinValue ());
  • maxText = valueToString (getSelectedMaxValue ());

Je hebt: int x;

        x = (int) ((getSelectedMinValue().intValue()+increment)/increment);
        x = x*increment;
        if (x<absoluteMaxValue.intValue()) 
            minText = ""+x;
        else
            minText=""+(absoluteMaxValue.intValue()-increment);
        
        
        x = (int) ((getSelectedMaxValue().intValue()+increment)/increment);
        x = x*increment;
        maxText = ""+x;

5 - Nu moet je het gewoon gebruiken. Hoop dat het helpt

Definieer een stapwaarde van 7

<RangeSeekBar
        android:id="@+id/barPrice"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        app:barHeight="0.2dp"
        app:barHeight2="4dp"
        app:increment="7"
        app:showLabels="false" />


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow