Loading core/java/android/widget/AbsSeekBar.java +12 −2 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ public abstract class AbsSeekBar extends ProgressBar { private float mTouchDownX; @UnsupportedAppUsage private boolean mIsDragging; private float mTouchThumbOffset = 0.0f; private List<Rect> mUserGestureExclusionRects = Collections.emptyList(); private final List<Rect> mGestureExclusionRects = new ArrayList<>(); Loading Loading @@ -874,6 +875,14 @@ public abstract class AbsSeekBar extends ProgressBar { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: if (mThumb != null) { final int availableWidth = getWidth() - mPaddingLeft - mPaddingRight; mTouchThumbOffset = (getProgress() - getMin()) / (float) (getMax() - getMin()) - (event.getX() - mPaddingLeft) / availableWidth; if (Math.abs(mTouchThumbOffset * availableWidth) > getThumbOffset()) { mTouchThumbOffset = 0; } } if (isInScrollingContainer()) { mTouchDownX = event.getX(); } else { Loading Loading @@ -956,7 +965,8 @@ public abstract class AbsSeekBar extends ProgressBar { } else if (x < mPaddingLeft) { scale = 1.0f; } else { scale = (availableWidth - x + mPaddingLeft) / (float) availableWidth; scale = (availableWidth - x + mPaddingLeft) / (float) availableWidth + mTouchThumbOffset; progress = mTouchProgressOffset; } } else { Loading @@ -965,7 +975,7 @@ public abstract class AbsSeekBar extends ProgressBar { } else if (x > width - mPaddingRight) { scale = 1.0f; } else { scale = (x - mPaddingLeft) / (float) availableWidth; scale = (x - mPaddingLeft) / (float) availableWidth + mTouchThumbOffset; progress = mTouchProgressOffset; } } Loading Loading
core/java/android/widget/AbsSeekBar.java +12 −2 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ public abstract class AbsSeekBar extends ProgressBar { private float mTouchDownX; @UnsupportedAppUsage private boolean mIsDragging; private float mTouchThumbOffset = 0.0f; private List<Rect> mUserGestureExclusionRects = Collections.emptyList(); private final List<Rect> mGestureExclusionRects = new ArrayList<>(); Loading Loading @@ -874,6 +875,14 @@ public abstract class AbsSeekBar extends ProgressBar { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: if (mThumb != null) { final int availableWidth = getWidth() - mPaddingLeft - mPaddingRight; mTouchThumbOffset = (getProgress() - getMin()) / (float) (getMax() - getMin()) - (event.getX() - mPaddingLeft) / availableWidth; if (Math.abs(mTouchThumbOffset * availableWidth) > getThumbOffset()) { mTouchThumbOffset = 0; } } if (isInScrollingContainer()) { mTouchDownX = event.getX(); } else { Loading Loading @@ -956,7 +965,8 @@ public abstract class AbsSeekBar extends ProgressBar { } else if (x < mPaddingLeft) { scale = 1.0f; } else { scale = (availableWidth - x + mPaddingLeft) / (float) availableWidth; scale = (availableWidth - x + mPaddingLeft) / (float) availableWidth + mTouchThumbOffset; progress = mTouchProgressOffset; } } else { Loading @@ -965,7 +975,7 @@ public abstract class AbsSeekBar extends ProgressBar { } else if (x > width - mPaddingRight) { scale = 1.0f; } else { scale = (x - mPaddingLeft) / (float) availableWidth; scale = (x - mPaddingLeft) / (float) availableWidth + mTouchThumbOffset; progress = mTouchProgressOffset; } } Loading