我希望创建一个分为5个部分的SeekBar,它们分别是“极差”、“低于平均水平”、“平均水平”和“优秀”。每一步我都希望像这个SeekBar一样增加。 默认值=0 最大值=100;
i want seek bar values like this :0,25,50,75,100
我该如何实现这个目标?
谢谢。
您只需按以下方式更新 onProgressChanged
方法。
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 + "");
}
希望有所帮助
更新
我想你在你的xml中为你的SeekBar
设置了 android:max="100"
。但你需要设置 android:max="101"
,因为在 0
和 100
之间共有 101
个点。
只需替换
android:max="100"
为
android:max="101"
试试这个:
seekBar.setProgress(4);
0, 1, 2, 3, 4
。您不需要使用onProgressChanged
,只需乘以25,即可获得数值0, 25, 50, 75, 100
。seekBar.setMax(4)
。 - PlatinTato请尝试以下代码。
seekBar.setProgress(YOUR_VALUE);