SeekBar 组 - 在 maxValue 之前停止拖动

SeekBar Group - stop drag before maxValue

我正在为目前的情况而苦苦挣扎。我必须模拟人们从桶中选择物品。我必须用 3 个搜索栏来完成,但是当桶中没有更多项目可用时,我必须停止拖动每个栏。所有搜索栏都需要具有相同的 BUCKET_ITEM_COUNT 最大值。 有什么方法可以将这些搜索栏停止在与 maxValue 不同的值,以便它们所有进度的总和小于或等于存储桶大小? 谢谢

你可以这样做:

seekBar1.setMax(bucketTotal);

seekBar1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        if (fromUser && progress + seekBar2.getProgress() + seekBar3.getProgress() > bucketTotal) {
            seekBar.setProgress(progress1);
        } else {
            progress1 = progress;
        }
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {

    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {

    }
});

将此应用于所有其他人。