From 2bc37f24b8a4dfcb56559fcf673846b955596b2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Martins=20Costa?= Date: Mon, 4 Dec 2017 18:02:32 +0000 Subject: [PATCH] Improves selector color flexibility --- .../time/RadialTimePickerView.java | 66 +++++++++---------- 1 file changed, 30 insertions(+), 36 deletions(-) diff --git a/DateTimePickerLibrary/src/main/java/io/doist/datetimepicker/time/RadialTimePickerView.java b/DateTimePickerLibrary/src/main/java/io/doist/datetimepicker/time/RadialTimePickerView.java index b88aecc..ea2cf3c 100644 --- a/DateTimePickerLibrary/src/main/java/io/doist/datetimepicker/time/RadialTimePickerView.java +++ b/DateTimePickerLibrary/src/main/java/io/doist/datetimepicker/time/RadialTimePickerView.java @@ -339,43 +339,9 @@ public RadialTimePickerView(Context context, AttributeSet attrs, int defStyleAtt mPaintCenter.setAntiAlias(true); mPaintCenter.setTextAlign(Paint.Align.CENTER); - mPaintSelector[HOURS][SELECTOR_CIRCLE] = new Paint(); - mPaintSelector[HOURS][SELECTOR_CIRCLE].setAntiAlias(true); - mColorSelector[HOURS][SELECTOR_CIRCLE] = a.getColor( - R.styleable.TimePicker_numbersSelectorColor, - ContextCompat.getColor(context, R.color.timepicker_default_selector_color_material)); - - mPaintSelector[HOURS][SELECTOR_DOT] = new Paint(); - mPaintSelector[HOURS][SELECTOR_DOT].setAntiAlias(true); - mColorSelector[HOURS][SELECTOR_DOT] = a.getColor( + setSelectorColor(a.getColor( R.styleable.TimePicker_numbersSelectorColor, - ContextCompat.getColor(context, R.color.timepicker_default_selector_color_material)); - - mPaintSelector[HOURS][SELECTOR_LINE] = new Paint(); - mPaintSelector[HOURS][SELECTOR_LINE].setAntiAlias(true); - mPaintSelector[HOURS][SELECTOR_LINE].setStrokeWidth(2); - mColorSelector[HOURS][SELECTOR_LINE] = a.getColor( - R.styleable.TimePicker_numbersSelectorColor, - ContextCompat.getColor(context, R.color.timepicker_default_selector_color_material)); - - mPaintSelector[MINUTES][SELECTOR_CIRCLE] = new Paint(); - mPaintSelector[MINUTES][SELECTOR_CIRCLE].setAntiAlias(true); - mColorSelector[MINUTES][SELECTOR_CIRCLE] = a.getColor( - R.styleable.TimePicker_numbersSelectorColor, - ContextCompat.getColor(context, R.color.timepicker_default_selector_color_material)); - - mPaintSelector[MINUTES][SELECTOR_DOT] = new Paint(); - mPaintSelector[MINUTES][SELECTOR_DOT].setAntiAlias(true); - mColorSelector[MINUTES][SELECTOR_DOT] = a.getColor( - R.styleable.TimePicker_numbersSelectorColor, - ContextCompat.getColor(context, R.color.timepicker_default_selector_color_material)); - - mPaintSelector[MINUTES][SELECTOR_LINE] = new Paint(); - mPaintSelector[MINUTES][SELECTOR_LINE].setAntiAlias(true); - mPaintSelector[MINUTES][SELECTOR_LINE].setStrokeWidth(2); - mColorSelector[MINUTES][SELECTOR_LINE] = a.getColor( - R.styleable.TimePicker_numbersSelectorColor, - ContextCompat.getColor(context, R.color.timepicker_default_selector_color_material)); + ContextCompat.getColor(context, R.color.timepicker_default_selector_color_material))); mPaintBackground.setColor(a.getColor(R.styleable.TimePicker_numbersBackgroundColor, res.getColor(R.color.timepicker_default_numbers_background_color_material))); @@ -431,6 +397,34 @@ public RadialTimePickerView(Context context, AttributeSet attrs, int defStyleAtt setHapticFeedbackEnabled(true); } + public void setSelectorColor(int color) { + mPaintSelector[HOURS][SELECTOR_CIRCLE] = new Paint(); + mPaintSelector[HOURS][SELECTOR_CIRCLE].setAntiAlias(true); + mColorSelector[HOURS][SELECTOR_CIRCLE] = color; + + mPaintSelector[HOURS][SELECTOR_DOT] = new Paint(); + mPaintSelector[HOURS][SELECTOR_DOT].setAntiAlias(true); + mColorSelector[HOURS][SELECTOR_DOT] = color; + + mPaintSelector[HOURS][SELECTOR_LINE] = new Paint(); + mPaintSelector[HOURS][SELECTOR_LINE].setAntiAlias(true); + mPaintSelector[HOURS][SELECTOR_LINE].setStrokeWidth(2); + mColorSelector[HOURS][SELECTOR_LINE] = color; + + mPaintSelector[MINUTES][SELECTOR_CIRCLE] = new Paint(); + mPaintSelector[MINUTES][SELECTOR_CIRCLE].setAntiAlias(true); + mColorSelector[MINUTES][SELECTOR_CIRCLE] = color; + + mPaintSelector[MINUTES][SELECTOR_DOT] = new Paint(); + mPaintSelector[MINUTES][SELECTOR_DOT].setAntiAlias(true); + mColorSelector[MINUTES][SELECTOR_DOT] = color; + + mPaintSelector[MINUTES][SELECTOR_LINE] = new Paint(); + mPaintSelector[MINUTES][SELECTOR_LINE].setAntiAlias(true); + mPaintSelector[MINUTES][SELECTOR_LINE].setStrokeWidth(2); + mColorSelector[MINUTES][SELECTOR_LINE] = color; + } + /** * Measure the view to end up as a square, based on the minimum of the height and width. */