/ / Jak zmienić pozycję początkową ścieżki SeekBar dla Androida? - Android, pozycja, pasek wyszukiwania

Jak zmienić pozycję początkową ścieżki Androida SeekBar? - android, pozycja, seekbar

Chciałbym ustawić SeekBars"pozycja początkowa śladu, więc nie zaczyna się od lewej strony paska wyszukiwania, ale tworzy dowolną pozycję. Oto zdjęcie z Photoshopa, jak powinno wyglądać:

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

Powinien to być tylko efekt graficzny, SeekBarPodstawowa logika nie ulega zmianie.

Próbowałem zmienić Seekbar.getprogressDrawable.SetBounds() zmienić pozycję obrazu ścieżki, ale bez powodzenia.

Odpowiedzi:

7 dla odpowiedzi № 1

dodaj tę właściwość

 android:progress="2"

4 dla odpowiedzi nr 2

Możesz ustawić postęp paska wyszukiwania w xml jako:

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

możesz programowo srt postępować w pasku wyszukiwania jako:

seekBar.setProgress(10);

1 dla odpowiedzi nr 3

Programowo możemy rozpocząć postęp i ustawić maksimum postępu paska wyszukiwania.

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

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

1 dla odpowiedzi nr 4

Być może twój problem jest podobny do Pasek wyszukiwania dla dwóch wartości [-50, 0, 50].

Dzięki Commonsware wskazuje właściwy kierunek. Napisałem klasę inspirowaną code.google.com/p/range-seek-bar), aby uzyskać rozwiązanie.

https://github.com/vashisthg/StartPointSeekBar


1 dla odpowiedzi nr 5

Możesz dodać to: android: obrót = „180” do XML, a następnie pasek wyszukiwania zmieni się tak, jak chcesz


0 dla odpowiedzi № 6

Właśnie napotkałem ten sam problem. Tak to rozwiązałem.

Załóżmy, że potrzebujemy paska wyszukiwania od 10 do 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();
}
});
}