我想在搜索栏拇指上添加一个循环进度条。它应该与拇指一起移动。如何通过自定义搜索条实现此目的?
注意:我设法通过相对定位实现相同的设置,如下面的代码片段所示。在我的实现中,进度条微调器独立于搜索条。根据拇指距离屏幕左边缘的距离,微调器定位在“进度改变”上。这似乎工作正常。但是,我觉得这不是正确的方法,因为它容易出错。 我正在寻找一种自定义SeekBar
的方法在SeekBar.OnSeekBarChangeListener
,
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
mSpinner.setX(getSpinnerPosition(progress));
}
}
private float getSpinnerPosition(int progress) {
float position = mSeekBarAbsPosition // Dist of seekbar from left edge of screen
+ getSeekThumbAbsPosition(progress) // Dist of thumb from left edge of seekbar
- mAdResolutionSpinner.getWidth() / 2; // To center align the spinner
return position;
}
private float getSeekThumbAbsPosition(int progress) {
// Get the percentage of the seek thumb progress.
float progressPercent = (float) progress / mSeekBarMax * 100;
// Absolute position of thumb from the left edge of seek bar
return (mSeekBarWidth * progressPercent / 100);
}