/ / Come modificare la posizione iniziale della traccia Android SeekBar? - android, posizione, seekbar

Come modificare la posizione di inizio della traccia di Android SeekBar? - Android, posizione, barra di ricerca

Mi piacerebbe impostare il SeekBars"Traccia la posizione iniziale in modo che non inizi dal lato sinistro della barra di ricerca, ma formi una posizione arbitraria. Ecco un'immagine di Photoshop come dovrebbe apparire:

http://i.imgur.com/QCMEu.png

Dovrebbe essere solo un effetto grafico, il SeekBar"La logica sottostante non è cambiata.

Ho provato a cambiare il Seekbar.getprogressDrawable.SetBounds() per cambiare la posizione dell'immagine della traccia, ma senza fortuna.

risposte:

7 per risposta № 1

aggiungi questa proprietà

 android:progress="2"

4 per risposta № 2

Puoi impostare lo stato di seekbar in xml come:

android:progress="10"
android:max="90" <!-- maximum seekbar progress -->

puoi programmare programmaticamente l'avanzamento di seekbar come:

seekBar.setProgress(10);

1 per risposta № 3

A livello di programmazione, possiamo avviare i progressi e impostare il massimo dei progressi di seekbar.

//start from <starting value>
seekBar.setProgress(<strating_value>);

//Set to maximum Value<max_value>
seekBar.setMax(<max_value>);

1 per risposta № 4

Potrebbe essere il tuo problema è simile a Barra di ricerca per due valori [-50, 0, 50].

Grazie a Commonsware per indicare la giusta direzione. Ho scritto un corso ispirato a code.google.com/p/range-seek-bar) per ottenere la soluzione.

https://github.com/vashisthg/StartPointSeekBar


1 per risposta № 5

Puoi aggiungere questo: android: rotazione = "180" all'XML e quindi la barra di ricerca cambierà nel modo desiderato


0 per risposta № 6

Ho appena affrontato lo stesso problema. È così che l'ho risolto.

Supponiamo che abbiamo bisogno di seekbar a partire da 10 e terminando a 150.

@Override
protected void onCreate(Bundle savedInstanceState)
{...
yourSpinner = (Spinner) findViewById(R.id.your_spinner);
yourSpinner.setMax(150 - 10);

int newProgress;

yourSpinner.setOnSeekBarChangeListener(new   SeekBar.OnSeekBarChangeListener()
{
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
{
newProgress= 10 + progress;

Toast.makeText(getApplicationContext(), String.valueOf(newProgress), Toast.LENGTH_LONG).show();
}
});
}