【问题标题】:How do I make a seekbar whose initail progress which is zero, starts in the middle如何制作一个初始进度为零的搜索栏,从中间开始
【发布时间】:2014-02-26 07:09:37
【问题描述】:

我想自定义 SeekBar,如下图所示。

我是编程的初学者,我在寻找教程,但每个地方的进步都是从最左边的角落开始的。有人可以指导我如何自定义 SeekBar。

所以在 onProgresschanged.

 @Override
 public void onProgressChanged(SeekBar seekBar,int progress, boolean fromUser) {            
brightness = progress;
    putGestureImageOnScreen(doBrightness(imageBitmap, brightness));
 }

谢谢。

【问题讨论】:

    标签: android custom-controls android-seekbar


    【解决方案1】:

    Android 中的搜索栏不能有负值。假设您为进度条的最大范围指定了一个值“100”(例如使用 setMax(100) 或在您的 xml 文件中使用 android:max="100"),那么您可以使用此方法移动您的随时将进度条移到中间(例如在 Activity.onCreate() 或其他任何地方)

        yourProgressBar.setProgress(50);
    

    之后,您可以使用以下方法获取进度值:

        int progress = yourProgressBar.getProgress();
    

    如果您想要(例如)-50 到 +50 之间的进度值,那么您可以简单地使用:

        int progress = yourProgressBar.getProgress();
        progress -= 50;
    

    祝你好运。

    【讨论】:

    • 感谢您的解释。那么如何管理progress变量的增减值呢?
    • 上面提到的onProgressChanged()代码,够了吗?
    • 是的,您可以在 onProgressChanged() 中获得新进度值的通知。
    • 如果您觉得某个答案对您有所帮助,请使用左侧的“打勾”标志“接受”该答案。通过这种方式,您既帮助其他人学习了新知识,也感谢回答者:-)
    • 有什么方法可以双向显示进度吗?我的意思是,如果我向任一方向移动拇指,那么进度应该从中心开始到拇指移动的位置。任何帮助将不胜感激。
    【解决方案2】:

    Android 中不可能有负值的AFAIK SeekBar。 为此,请使用您的 SeekBar 条形范围从 0 到 100。 你可以这样设置..

    seekbar.setMax(100);
    

    首先从中心开始像..

    seekbar.setProgress(50);
    

    并将其从 50 减少到 0

    【讨论】:

      【解决方案3】:

      把它放在 Oncreate 中

       seekBar=((SeekBar)(v.findViewById(R.id.seekBar1)));
          seekBar.setMax(100);
          seekBar.setProgress(50); 
      

      【讨论】:

        【解决方案4】:

        我写了一篇关于自定义搜索栏的博客。你可以看看this。正如Kalyan所说,你需要设置seekBarMaxprogress

        seekbar.setMax(100);
        seekbar.setProgress(50);//Set default progress of the Seekbar
        

        【讨论】:

          【解决方案5】:

          通过 xml 你可以这样做:android:progress="20" 表示 20 是默认位置。搜索栏的起点。

          或者在你的代码中你可以这样做:

          your_seekBar.setProgress(start_position);
          

          即。 your_seekBar.setProgress(20)

          你可以随意调整

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多