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

  • Cómo cambiar la posición de inicio de la pista de Android SeekBar?
  • Cambio de fondo del elemento de vista de lista de Android
  • Android canvas drawText y-posición del texto
  • ¿Cuál es el propósito de item-id en Android ListView Adapter?
  • Android - Establecer Layout_Gravity de forma programática para LinearLayout
  • ¿Hay una forma de compensar una vista desde el centro en Android?
  • ¿Cómo cambiar la posición de un diálogo de progreso?
  • Android Web App: Posición: fijo roto?
  • 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.