From 45c481c06714e64d4ac1b8443e585905d6070d2f Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Mon, 16 Apr 2018 14:49:01 +0200 Subject: [PATCH] add prefixColor attribute to PrefixedEditText --- .../keychain/ui/widget/PrefixedEditText.java | 10 ++++++---- OpenKeychain/src/main/res/values/attr.xml | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PrefixedEditText.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PrefixedEditText.java index 3d8d85e92..cf04d346f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PrefixedEditText.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PrefixedEditText.java @@ -30,7 +30,8 @@ import org.sufficientlysecure.keychain.R; public class PrefixedEditText extends AppCompatEditText { - private String mPrefix; + private CharSequence mPrefix; + private int mPrefixColor; private int desiredWidth; public PrefixedEditText(Context context, AttributeSet attrs) { @@ -38,6 +39,7 @@ public class PrefixedEditText extends AppCompatEditText { TypedArray style = context.getTheme().obtainStyledAttributes( attrs, R.styleable.PrefixedEditText, 0, 0); mPrefix = style.getString(R.styleable.PrefixedEditText_prefix); + mPrefixColor = style.getColor(R.styleable.PrefixedEditText_prefixColor, getCurrentTextColor()); if (mPrefix == null) { mPrefix = ""; } @@ -54,8 +56,8 @@ public class PrefixedEditText extends AppCompatEditText { super.onDraw(canvas); TextPaint paint = getPaint(); // reset to the actual text color - it might be the hint color currently - paint.setColor(getCurrentTextColor()); - canvas.drawText(mPrefix, super.getCompoundPaddingLeft(), getBaseline(), paint); + paint.setColor(mPrefixColor); + canvas.drawText(mPrefix, 0, mPrefix.length(), super.getCompoundPaddingLeft(), getBaseline(), paint); } @Override @@ -63,7 +65,7 @@ public class PrefixedEditText extends AppCompatEditText { return super.getCompoundPaddingLeft() + desiredWidth; } - public void setPrefix(String prefix) { + public void setPrefix(CharSequence prefix) { mPrefix = prefix; invalidate(); diff --git a/OpenKeychain/src/main/res/values/attr.xml b/OpenKeychain/src/main/res/values/attr.xml index 13ff2afe8..f763774e0 100644 --- a/OpenKeychain/src/main/res/values/attr.xml +++ b/OpenKeychain/src/main/res/values/attr.xml @@ -13,6 +13,7 @@ + \ No newline at end of file