I want to create seekbar that is divided into 5 section poor , below Average
Average
and Excellent
, for every step i want increment like this seekbar
Default=0
max value = 100;
i want seek bar values like this :0,25,50,75,100
how can i achieve this.
Thanks
In Order to the seekBar to Change while you are in the Activity you need to Call the method setProgress(), and pass it a boolean animate value. I think the problem is related to setting the progress of the seek bar something greater than its max value.
android.widget.SeekBar. A SeekBar is an extension of ProgressBar that adds a draggable thumb. The user can touch the thumb and drag left or right to set the current progress level or use the arrow keys. Placing focusable widgets to the left or right of a SeekBar is discouraged.
You have to just update the onProgressChanged
method as follows.
int yourStep = 25;
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
progress = ((int)Math.round(progress/yourStep ))*yourStep;
seekBar.setProgress(progress);
textview.setText(progress + "");
}
Hope its help
UPD
I think in your xml you set android:max="100"
for your SeekBar
. But you need to set android:max="101"
, because between 0
and 100
= 101
point's.
just replace
android:max="100"
for
android:max="101"
Try this:
seekBar.setProgress(4);
This will give the values, 0, 1, 2, 3, 4
. You don't need to be playing about with onProgressChanged
, simply multiply by 25 and you have the values 0, 25, 50, 75, 100
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With