Android
Defina el valor del paso (incremento) para la barra de barras personalizada
Buscar..
Introducción
Una personalización de la RangeSeekBar de Android propuesta por Alex Florescu en https://github.com/anothem/android-range-seek-bar
Permite definir un valor de paso (incremento), al mover la barra de búsqueda.
Observaciones
1- Añadir el atributo de incremento en attrs.xml
<attr name="increment" format="integer|float"/>
2- Defina un valor predeterminado en RangeSeekBar.java y cree el atributo también
private static final int DEFAULT_INCREMENT = 1;
private int increment;
3- Iniciar el valor de incremento en init vacío privado (contexto de contexto, atributos AttributeSet)
if (attrs == null)
increment = DEFAULT_INCREMENT;
else
increment = a.getInt(R.styleable.RangeSeekBar_increment, DEFAULT_INCREMENT);
4- Defina el valor de incremento en onidraw vacío sincronizado protegido (lienzo de lienzo No @ nulo)
Tendrá que reemplazar los valores minText y maxText. Así que en lugar de:
- minText = valueToString (getSelectedMinValue ());
- maxText = valueToString (getSelectedMaxValue ());
Tendrás: 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 - Ahora solo tienes que usarlo. Espero eso ayude
Definir un valor de paso de 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow