Arama çubuğunun sorunsuz bir şekilde hareket etmesini sağlamak için aşağıdaki çözümü buldum, ancak yine de sınırlı bir değerler aralığına erişiyorum.
<SeekBar
android:id="@+id/sldProgress"
style="@style/MySliderStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="50" />
<TextView
android:id="@+id/lblProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5" />
Sen (aktivitesinde aşağıdaki kodu kullanabilirsiniz android değerini değiştirebilirsiniz: Eğer düzeninde aşağıdaki görüşlere sahip varsayarsak göre aşağıdaki kodu yukarıdaki xml max ve pürüzsüzlük faktörü senin ihtiyaçlar - yüksek değerler = yumuşak):
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sliderListener sldListener = new sliderListener();
SeekBar sldProgress = (SeekBar) findViewById(R.id.sldProgress);
sldProgress.setOnSeekBarChangeListener(sldListener);
}
private class sliderListener implements OnSeekBarChangeListener {
private int smoothnessFactor = 10;
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progress = Math.round(progress/smoothnessFactor);
TextView lblProgress = (TextView) findViewById(R.id.lblProgress);
lblProgress.setText(String.valueOf(progress));
}
public void onStartTrackingTouch(SeekBar seekBar) {
}
public void onStopTrackingTouch(SeekBar seekBar) {
seekBar.setProgress(Math.round((seekBar.getProgress() + (smoothnessFactor/2))/smoothnessFactor) * smoothnessFactor);
}
}
}
+1 Gelecekte ziyaretçilere yardımcı olacak şekilde kaynak kodu ekleyebilirsiniz. –
Yapacağım, başvurumun en son sürümünü indirir yüklemez yayınlayacağım. Ben zaten uygulamanın açık kaynak olduğunu düşünüyorum –
Söz verdiği gibi - https://github.com/kennydude/Speaker/blob/master/src/me/kennydude/speaker/SmoothSeekBar.java bu konum kod güncellemeleri –