Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Configurar el pulgar en una posición particular (no en el desplazamiento) de seekbar mediante programación?

Tengo una barra de búsqueda personalizada en la que estoy actualizando el progreso y la amplitud máxima del sonido. Así que el seekbar varía de acuerdo a la detección de sonido y el pulgar muestra la máxima amblitude del sonido. Quiero fijar la posición del pulgar a una posición particular (Amblitude máxima) como fijamos el progreso en seekbar. Había pasado por un montón de preguntas y respuestas y también he corrido a través de los documentos del desarrollador. En los documentos de desarrollo se menciona que sólo se pueden dar compensaciones que mantiene el pulgar fuera de la pista del progreso.

De Developer Doc setThumbOffset (int thumbOffset) – Establece el desplazamiento del pulgar que permite que el pulgar se extienda fuera del rango de la pista.

¿Hay alguna manera posible de poner el pulgar a una posición particular. La muestra se muestra a continuación. En esto había puesto los pulgares de compensación para sólo mostrar una muestra, en lugar de esto quiero establecer el pulgar a una posición precisa.

Introduzca aquí la descripción de la imagen

3 Solutions collect form web for “¿Configurar el pulgar en una posición particular (no en el desplazamiento) de seekbar mediante programación?”

Creo que podría establecer la posición de pulgar usando setProgress (int progreso), para en SeekBar, el pulgar se mostrará al final del medidor de progreso.
Si desea establecer la posición del pulgar independiente del progreso, entonces usted podría implementar su propio SeekBar se extiende AbsSeekBar, puede referirse a src de SeekBar.

Haga una barra de progreso personalizada con un color de progreso transparente.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@android:id/background" android:drawable="@drawable/my_background"/> <item android:id="@android:id/progress"> <clip android:drawable="@android:color/transparent" /> </item> <item android:id="@android:id/secondaryProgress"> <clip android:drawable="@drawable/my_visual_progress" /> </item> </layer-list> 

Use setSecondaryProgress (int) con la configuración del "progreso" visual de la barra de progreso.

Y use setProgress(int) para mover el pulgar en consecuencia.

No entiendo lo que realmente quieres decir, pero como puedo entender de lo que dices, haz lo que hice Intenta usar diferentes drawbles Permítanme mostrarles un ejemplo:

Su code .java

 import android.os.Bundle; import android.app.Activity; import android.graphics.drawable.Drawable; import android.widget.SeekBar; public class MainActivity extends Activity { private SeekBar seekBar1; private SeekBar seekBar2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); seekBar1 = (SeekBar) findViewById(R.id.seekBar1); seekBar2 = (SeekBar) findViewById(R.id.seekBar2); seekBar1.setProgress(15); seekBar2.setProgress(55); Drawable ii = getResources().getDrawable(R.drawable.ii); // Drawable iii = getResources().getDrawable(R.drawable.ii); seekBar1.setThumb(ii); seekBar2.setThumb(ii); } } 

Tu problema:

Introduzca aquí la descripción de la imagen

Lo que puede hacer es simplemente renombrar el mismo dibujable como este:

 import android.os.Bundle; import android.app.Activity; import android.graphics.drawable.Drawable; import android.widget.SeekBar; public class MainActivity extends Activity { private SeekBar seekBar1; private SeekBar seekBar2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); seekBar1 = (SeekBar) findViewById(R.id.seekBar1); seekBar2 = (SeekBar) findViewById(R.id.seekBar2); seekBar1.setProgress(15); seekBar2.setProgress(55); Drawable ii = getResources().getDrawable(R.drawable.ii); Drawable iii = getResources().getDrawable(R.drawable.ii); seekBar1.setThumb(ii); seekBar2.setThumb(iii); } } 

Y ese es el resultado:

Introduzca aquí la descripción de la imagen

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.