From 76320adfbcfc0af7f53ab0f708eed3fbbb56d1f2 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Tue, 10 Oct 2017 14:27:49 +0300 Subject: [PATCH 1/2] Issue #212: Add possibility to configure alpha of description text. --- .../com/getkeepsafe/taptargetview/TapTarget.java | 13 +++++++++++++ .../getkeepsafe/taptargetview/TapTargetView.java | 6 +++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTarget.java b/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTarget.java index e338087..87f4148 100755 --- a/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTarget.java +++ b/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTarget.java @@ -82,6 +82,8 @@ public class TapTarget { boolean cancelable = true; boolean tintTarget = true; boolean transparentTarget = false; + // This variable is used for configuring alpha of description text. + float descriptionTextAlpha = 0; /** * Return a tap target for the overflow button from the given toolbar @@ -414,6 +416,17 @@ public TapTarget targetRadius(int targetRadius) { return this; } + /** + * @param descriptionTextAlpha is used to define alpha of description text, should be [0..255]. + * @return TapTarget object with defined alpha for description text. + */ + public TapTarget descriptionTextAlpha(float descriptionTextAlpha) { + if (descriptionTextAlpha < 0 || descriptionTextAlpha > 255) { + throw new IllegalArgumentException("Alpha is out of allowed bounds"); + } + this.descriptionTextAlpha = descriptionTextAlpha; + return this; + } /** Return the id associated with this tap target **/ public int id() { diff --git a/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTargetView.java b/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTargetView.java index 811bff7..119e4d5 100755 --- a/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTargetView.java +++ b/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTargetView.java @@ -665,7 +665,11 @@ protected void onDraw(Canvas c) { if (descriptionLayout != null && titleLayout != null) { c.translate(0, titleLayout.getHeight() + TEXT_SPACING); - descriptionPaint.setAlpha((int) (0.54f * textAlpha)); + if (target.descriptionTextAlpha != 0) { + descriptionPaint.setAlpha((int) target.descriptionTextAlpha); + } else { + descriptionPaint.setAlpha((int) (0.54f * textAlpha)); + } descriptionLayout.draw(c); } } From 829fdc841042aa34e85e19f6c10768d32542196f Mon Sep 17 00:00:00 2001 From: Ruslan Date: Wed, 11 Oct 2017 09:58:36 +0300 Subject: [PATCH 2/2] Add possibility to configure alpha of description text. --- .../getkeepsafe/taptargetview/TapTarget.java | 24 ++++++++----------- .../taptargetview/TapTargetView.java | 6 +---- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTarget.java b/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTarget.java index 87f4148..068ce0a 100755 --- a/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTarget.java +++ b/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTarget.java @@ -82,8 +82,7 @@ public class TapTarget { boolean cancelable = true; boolean tintTarget = true; boolean transparentTarget = false; - // This variable is used for configuring alpha of description text. - float descriptionTextAlpha = 0; + float descriptionTextAlpha = 0.54f; /** * Return a tap target for the overflow button from the given toolbar @@ -332,6 +331,15 @@ public TapTarget titleTextDimen(@DimenRes int dimen) { return this; } + /** Specify the alpha value [0.0, 1.0] of the description text **/ + public TapTarget descriptionTextAlpha(float descriptionTextAlpha) { + if (descriptionTextAlpha < 0 || descriptionTextAlpha > 1f) { + throw new IllegalArgumentException("Given an invalid alpha value: " + descriptionTextAlpha); + } + this.descriptionTextAlpha = descriptionTextAlpha; + return this; + } + /** * Specify the text size for the description via a dimen resource *

@@ -416,18 +424,6 @@ public TapTarget targetRadius(int targetRadius) { return this; } - /** - * @param descriptionTextAlpha is used to define alpha of description text, should be [0..255]. - * @return TapTarget object with defined alpha for description text. - */ - public TapTarget descriptionTextAlpha(float descriptionTextAlpha) { - if (descriptionTextAlpha < 0 || descriptionTextAlpha > 255) { - throw new IllegalArgumentException("Alpha is out of allowed bounds"); - } - this.descriptionTextAlpha = descriptionTextAlpha; - return this; - } - /** Return the id associated with this tap target **/ public int id() { return id; diff --git a/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTargetView.java b/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTargetView.java index 119e4d5..6c874f4 100755 --- a/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTargetView.java +++ b/taptargetview/src/main/java/com/getkeepsafe/taptargetview/TapTargetView.java @@ -665,11 +665,7 @@ protected void onDraw(Canvas c) { if (descriptionLayout != null && titleLayout != null) { c.translate(0, titleLayout.getHeight() + TEXT_SPACING); - if (target.descriptionTextAlpha != 0) { - descriptionPaint.setAlpha((int) target.descriptionTextAlpha); - } else { - descriptionPaint.setAlpha((int) (0.54f * textAlpha)); - } + descriptionPaint.setAlpha((int) (target.descriptionTextAlpha * textAlpha)); descriptionLayout.draw(c); } }