【问题标题】:How to change the scale of seekBar progress如何改变 seekBar 进度的比例
【发布时间】:2014-09-04 16:10:06
【问题描述】:

我已经使用 seekbar 来满足其他要求,现在我在使用这个范围的规模时遇到了问题。我希望我的最大值为 350,000(美元),我的“最小值”或者我应该说“1”值为 5,000。我将如何实现这一点?

【问题讨论】:

    标签: android fragment seekbar


    【解决方案1】:

    如果我理解正确,您希望搜索栏移动 5,000 到 350,000。

    350,000 / 5,000 = 70

        final TextView textView = findViewById(R.id.some_text);
        seekBar.setMax(69);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                if (fromUser) {
                    seekBar.setProgress(progress);
                    textView.setText(String.valueOf((progress+1)*5000));
                }
            }
    
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
    
            }
    
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
    
            }
        });
    

    如果我理解错了请告诉我:)

    【讨论】:

    • 感谢您的示例。
    • 知道如何实现一种可以快速将“,”放置在正确位置的方法吗?真的不想做一堆比较 if 语句。
    • @droidShot NumberFormat.getIntegerInstance().format(i); 根据this answer
    【解决方案2】:
    int min=5000;
    int max=350000;
    
    int value = (seekBar.getProgress()*(max-min))+min;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-15
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      相关资源
      最近更新 更多