1

我的要求是这样的, 在此处输入图像描述

我想在搜索栏拇指上添加一个圆形进度条。它应该与拇指一起移动。如何通过自定义搜索栏来实现这一点?

注意:我设法通过相对定位来实现相同的功能,如下面的代码片段所示。在我的实现中,进度条微调器独立于搜索条。微调器根据拇指距屏幕左边缘的距离定位 onProgressChanged。这似乎工作正常。但是,我觉得这不是正确的方法,因为它容易出错。我正在寻找一种自定义 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);
}
4

0 回答 0