Esempio n. 1
0
  @SuppressLint("ClickableViewAccessibility")
  @Override
  public boolean onTouchEvent(@NonNull MotionEvent event) {
    // performClick();
    if (mRotateAnimationTask != null && mRotateAnimationTask.getStatus() == RUNNING) {
      return true;
    }
    float x = event.getX();
    float y = event.getY();
    //	Log.e("pointerPosition>>", pointerPosition + "");

    switch (event.getAction()) {
      case MotionEvent.ACTION_DOWN:
        mListener.onStartTrackingTouch(this);

        return moved(x, y, false);

      case MotionEvent.ACTION_MOVE:
        mListener.onStartTrackingTouch(this);

        return moved(x, y, false);

      case MotionEvent.ACTION_UP:
        mListener.onStopTrackingTouch(this);
        return moved(x, y, true);
    }
    return false;
  }
Esempio n. 2
0
  @Override
  public boolean onTouchEvent(MotionEvent event) {
    if (!isEnabled()) {
      return false;
    }

    switch (event.getAction()) {
      case MotionEvent.ACTION_DOWN:
        onChangeListener.onStartTrackingTouch(this);
        setPressed(true);
        setSelected(true);
        break;
      case MotionEvent.ACTION_MOVE:
        super.onTouchEvent(event);
        int progress = getMax() - (int) (getMax() * event.getY() / getHeight());

        // Ensure progress stays within boundaries
        if (progress < 0) {
          progress = 0;
        }
        if (progress > getMax()) {
          progress = getMax();
        }
        setProgress(progress); // Draw progress
        if (progress != lastProgress) {
          // Only enact listener if the progress has actually changed
          lastProgress = progress;
          onChangeListener.onProgressChanged(this, progress, true);
        }

        onSizeChanged(getWidth(), getHeight(), 0, 0);
        setPressed(true);
        setSelected(true);
        break;
      case MotionEvent.ACTION_UP:
        onChangeListener.onStopTrackingTouch(this);
        setPressed(false);
        setSelected(false);
        break;
      case MotionEvent.ACTION_CANCEL:
        super.onTouchEvent(event);
        setPressed(false);
        setSelected(false);
        break;
    }
    return true;
  }
Esempio n. 3
0
  @Override
  public boolean onTouchEvent(MotionEvent event) {
    String tag = "Seekbar";
    Log.d(tag, event.toString());
    Log.d(tag, "------------");
    requestParentTouchRecursive(getParent(), true);

    if (!isEnabled()) {
      return false;
    }

    switch (event.getAction()) {
      case MotionEvent.ACTION_UP:
        onSeekBarChangeListener.onStopTrackingTouch(this);
        invalidate();
        requestParentTouchRecursive(getParent(), false);
        break;
      case MotionEvent.ACTION_DOWN:
        onSeekBarChangeListener.onStartTrackingTouch(this);
        invalidate();
        break;
      case MotionEvent.ACTION_MOVE:
        int pos = (int) (getMax() * event.getX() / getWidth());
        Log.d(tag, "pos => " + pos);
        setProgress(pos);
        onSeekBarChangeListener.onProgressChanged(this, pos, true);
        // onSizeChanged(getWidth(), getHeight(), 0, 0);
        invalidate();
        break;

      default:
      case MotionEvent.ACTION_CANCEL:
        onSeekBarChangeListener.onProgressChanged(this, getProgress(), true);
        requestParentTouchRecursive(getParent(), false);
        invalidate();
        break;
    }
    return true;
  }
 private void onStopTrackingTouch() {
   mIsDragging = false;
   if (mOnSeekBarChangeListener != null) {
     mOnSeekBarChangeListener.onStopTrackingTouch(this);
   }
 }
 void onStopTrackingTouch() {
   if (mOnSeekBarChangeListener != null) {
     mOnSeekBarChangeListener.onStopTrackingTouch(this);
   }
 }