更改进度/ Seekbar标度为非线性(例如对数)

是否有可能将Progress或Seekars的缩放比例改变为非线性?

如果是这样,怎么能改变?

  • Android中的滑块控件... SeekBar真的是我最好的/唯一的select吗?
  • Android SeekBar最小值
  • 使自定义瘦进度条/ Seekbar
  • 如何设置seekbar最小值和最大值
  • SeekBar在NavigationDrawer中
  • android禁用audio控制器的search栏
  • 如何修复seekbar-bar-thumb-centering-issues
  • 自定义search栏(拇指大小,颜色和背景)
  • 例如:

     weightSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { // place onStartTrackingTouch(SeekBar seekBar) and onStopTrackingTouch(SeekBar seekBar) here @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { userWeight = ((progress * progress) / (1000.0f * 1000.0f)) * (maxWeight - minWeight) + minWeight; // Approximate an exponential curve with x^2. } }); 

    反之亦然:

     weightSeekBar.setProgress((int) (Math.sqrt(((userWeight - minWeight) / (maxWeight - minWeight)) * 1000.0f * 1000.0f)));