From 88eed6da3ca7de6a7e02ef0858b1b9f14ae2117b Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 9 Oct 2021 19:45:16 +0800 Subject: [PATCH] Fixed: Setting color that doesn't contained in the seek bar will reset progress into 0 --- .../android/colorseekbar/AlphaSeekBar.java | 2 -- .../android/colorseekbar/ColorSeekBar.java | 27 +++++-------------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/colorseekbar/src/main/java/com/rtugeek/android/colorseekbar/AlphaSeekBar.java b/colorseekbar/src/main/java/com/rtugeek/android/colorseekbar/AlphaSeekBar.java index 8335127..8f5828f 100644 --- a/colorseekbar/src/main/java/com/rtugeek/android/colorseekbar/AlphaSeekBar.java +++ b/colorseekbar/src/main/java/com/rtugeek/android/colorseekbar/AlphaSeekBar.java @@ -28,7 +28,6 @@ public class AlphaSeekBar extends BaseSeekBar { private final int GRID_GREY = 0xFFEDEDED; private OnAlphaChangeListener listener; - private boolean movingBar; private boolean mShowGrid = true; private final Path mClipPath = new Path(); @@ -193,5 +192,4 @@ public void setOnAlphaChangeListener(OnAlphaChangeListener listener) { this.listener = listener; } - } \ No newline at end of file diff --git a/colorseekbar/src/main/java/com/rtugeek/android/colorseekbar/ColorSeekBar.java b/colorseekbar/src/main/java/com/rtugeek/android/colorseekbar/ColorSeekBar.java index 3148c73..3ddaa4b 100644 --- a/colorseekbar/src/main/java/com/rtugeek/android/colorseekbar/ColorSeekBar.java +++ b/colorseekbar/src/main/java/com/rtugeek/android/colorseekbar/ColorSeekBar.java @@ -214,21 +214,6 @@ protected void onDraw(Canvas canvas) { super.onDraw(canvas); } - - private float calculateTouchPercent(float x) { - if (isVertical()) { - return (x - thumbDragRect.top) / thumbDragRect.height() * maxProgress; - } else { - return (x - thumbDragRect.left) / thumbDragRect.width() * maxProgress; - } - } - - @Override - public void setEnabled(boolean enabled) { - super.setEnabled(enabled); - } - - /** * @param position * @return color @@ -314,7 +299,7 @@ public int getProgressByColor(int color) { public List getColors() { - if (cachedColors.isEmpty()) { + if (cachedColors.isEmpty() && mCachedBitmap != null) { for (int i = 0; i < maxProgress; i++) { cachedColors.add(pickColor(i)); } @@ -339,10 +324,12 @@ public void setColor(int color) { } int withoutAlphaColor = Color.rgb(Color.red(color), Color.green(color), Color.blue(color)); List colors = getColors(); - int position = colors.indexOf(withoutAlphaColor); - setProgress(position); - if (mOnColorChangeLister != null) { - mOnColorChangeLister.onColorChangeListener(progress, getColor()); + int progress = colors.indexOf(withoutAlphaColor); + if (progress != -1) { + setProgress(progress); + if (mOnColorChangeLister != null) { + mOnColorChangeLister.onColorChangeListener(progress, getColor()); + } } }