transparente quitar personalizar moto google como color cambiar busqueda barra android android-sdk-2.1 seekbar

android - quitar - cómo limitar la barra de búsqueda



widget barra busqueda google android (6)

Me gustaría establecer los límites máximos y mínimos de SeekBar en 50 y 20, respectivamente.

SeekBar tiene una opción directa superior que proporciona el valor máximo, pero ¿cómo establecer su valor mínimo en 20 en lugar de 0?


Establezca el valor máximo en 30 y agregue 20 a los valores que lee en SeekBar.


He respondido esta pregunta aquí: cómo establecer el mínimo y máximo valor de la barra de búsqueda .

Con matemática simple puede establecer el valor mínimo, el valor máximo e incluso el paso de su barra de búsqueda.

Espero que esto ayude !


La forma más sencilla de hacerlo es limitarlo en SeekBar.OnSeekBarChangeListener() para su SeekBar .

Primero, necesita crear un campo con un valor mínimo o predeterminado. A continuación, establezca este valor al crear SeekBar :

private int fillDefault;

En onCreateView() de un Fragment o onCreate de una Activity :

fillDefault = 20; fillSeekBar.setProgress(fillDefault);

En segundo lugar, implementar el oyente para ello:

fillSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // Notification that the progress level has changed. if (progress < fillDefault){ seekBar.setProgress(fillDefault); // magic solution, ha } } @Override public void onStartTrackingTouch(SeekBar seekBar) { // Notification that the user has started a touch gesture. } @Override public void onStopTrackingTouch(SeekBar seekBar) { // Notification that the user has finished a touch gesture. } });

Funciona. Simple e impresionante: D


Por ejemplo;

public static int LENGTH_MIN_VALUE = 20; public static int LENGTH_MAX_VALUE = 50; SeekBar seekBar = (SeekBar) findViewById(R.id.passwordSeekBar); seekBar.setMax(LENGTH_MAX_VALUE); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if(progress <= Constract.PASSWORD_LENGTH_MIN_VALUE){ progress = Constract.PASSWORD_LENGTH_MIN_VALUE + progress; } String numberAsString = String.valueOf(progress); seekNumberView.setText(numberAsString); } @Override public void onStartTrackingTouch(SeekBar seekBar) {} @Override public void onStopTrackingTouch(SeekBar seekBar) {} });


Puedes intentar esto:

seekBar.setMax(max_value-min_value);


En SeekBar puedes can set only max value.

<SeekBar android:id="@+id/SeekBar01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:max="50"/>

Y, no puede establecer directamente el valor mínimo para la barra de búsqueda.

SeekBar mSeekbar = (SeekBar) findViewById(R.id.SeekBar01); mSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { length_edit.setText(Integer.toString(progress + 20)); } public void onStartTrackingTouch(SeekBar seekBar) {} public void onStopTrackingTouch(SeekBar seekBar) {} });

Como ve el progreso mínimo, puede sumar con el mínimo que me gustaría, en su caso 20.