Android
Definieren Sie den Schrittwert (Inkrement) für die benutzerdefinierte RangeSeekBar
Suche…
Einführung
Eine Anpassung der Android RangeSeekBar von Alex Florescu unter https://github.com/anothem/android-range-seek-bar
Sie können einen Schrittwert (Inkrement) festlegen, wenn Sie den Suchbalken verschieben
Bemerkungen
1- Fügen Sie das Attribut inkrement in attrs.xml hinzu
<attr name="increment" format="integer|float"/>
2- Definieren Sie einen Standardwert in RangeSeekBar.java und erstellen Sie auch das Attribut
private static final int DEFAULT_INCREMENT = 1;
private int increment;
3- Init der Inkrementierungswert in privatem void init (Kontextkontext, AttributeSet-Attribute)
if (attrs == null)
increment = DEFAULT_INCREMENT;
else
increment = a.getInt(R.styleable.RangeSeekBar_increment, DEFAULT_INCREMENT);
4- Definieren Sie den Inkrementwert in geschütztem synchronisiertem void onDraw (@NonNull Canvas Canvas
Sie müssen den Wert für minText und maxText ersetzen. Also statt:
- minText = valueToString (getSelectedMinValue ());
- maxText = valueToString (getSelectedMaxValue ());
Sie haben: 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 - Jetzt müssen Sie es nur noch verwenden. Ich hoffe es hilft
Definieren Sie einen Schrittwert von 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow