【问题标题】:Seekbar with only drag enabled Android仅启用拖动的 Android 搜索栏
【发布时间】:2014-12-31 09:38:34
【问题描述】:

我想创建一个搜索栏,只有当用户拖动它时才会改变它的进度,当用户触摸它时它不应该改变进度。

在任何帮助之前有没有人这样做过

谢谢你 桑迪普·贾达夫

【问题讨论】:

标签: android seekbar android-seekbar


【解决方案1】:

我不知道你真正想知道什么。

但每隔 1 秒使用一次处理程序,并在其中设置您的 seekprogress。 例如:

    runnable = new Runnable() {

        @Override
        public void run() {

            bar.setProgress(bar.getProgress() + 1);



        }
    };

【讨论】:

    【解决方案2】:
    public class Slider extends SeekBar {
    
    private Drawable mThumb;
    
    public Slider(Context context) {
        super(context);
    
    }
    
    public Slider(Context context, AttributeSet attrs) {
        super(context, attrs);
    
    }
    
    @Override
    public void setThumb(Drawable thumb) {
        super.setThumb(thumb);
        mThumb = thumb;
    }
    
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
    
            if (event.getX() >= mThumb.getBounds().left
                && event.getX() <= mThumb.getBounds().right
                && event.getY() <= mThumb.getBounds().bottom
                && event.getY() >= mThumb.getBounds().top) {
    
            super.onTouchEvent(event);
        } else {
            return false;
        }
    } else if (event.getAction() == MotionEvent.ACTION_UP) {
        return false;
    } else {
        super.onTouchEvent(event);
    }
    
        return true;
    }}
    

    在下面的链接找到答案

    Prevent single tap from changing SeekBar progress

    【讨论】:

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