diff --git a/app/src/main/java/com/gne/www/pinviewlibrary/MainActivity.java b/app/src/main/java/com/gne/www/pinviewlibrary/MainActivity.java index 2c9fc0b..55f0334 100644 --- a/app/src/main/java/com/gne/www/pinviewlibrary/MainActivity.java +++ b/app/src/main/java/com/gne/www/pinviewlibrary/MainActivity.java @@ -32,6 +32,7 @@ protected void onCreate(Bundle savedInstanceState) { // pinView.setPinSize(20); pinView.setPinTextSize(13); pinView.setPasswordToggleSize(20); +// pinView.setTextColor(getResources().getColor(R.color.colorPrimary)); pinView.setOnPinCompletionListener(new OnPinCompletedListener() { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 9424960..14192c9 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -10,6 +10,8 @@ android:id="@+id/pinview" android:layout_width="match_parent" android:layout_height="wrap_content" + app:textColor="@color/colorAccent" + app:cursorColor="@color/colorPrimary" app:pinCount="5" app:inputType="number" app:isPassword="false" diff --git a/build.gradle b/build.gradle index 5d09c99..e1fafc4 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.5.0' + classpath 'com.android.tools.build:gradle:3.6.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7acb70f..c984f9a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Sep 15 14:26:25 IST 2019 +#Tue Mar 31 14:45:36 IST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip diff --git a/pinview/src/main/java/com/gne/www/lib/PinView.java b/pinview/src/main/java/com/gne/www/lib/PinView.java index a347d29..38a8825 100644 --- a/pinview/src/main/java/com/gne/www/lib/PinView.java +++ b/pinview/src/main/java/com/gne/www/lib/PinView.java @@ -3,8 +3,10 @@ import android.content.ClipboardManager; import android.content.Context; import android.content.res.TypedArray; -import androidx.databinding.InverseBindingMethod; -import androidx.databinding.InverseBindingMethods; + +import androidx.annotation.ColorInt; +import androidx.core.content.ContextCompat; + import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import androidx.appcompat.widget.LinearLayoutCompat; @@ -16,8 +18,10 @@ import android.view.MenuItem; import android.view.View; import android.widget.EditText; +import android.widget.TextView; +import java.lang.reflect.Field; import java.util.ArrayList; @@ -30,6 +34,8 @@ public class PinView extends LinearLayoutCompat { private int pinSize =getResources().getDimensionPixelSize(R.dimen.pin_size), passwordToggleSize=getResources().getDimensionPixelSize(R.dimen.password_toggle_size); private int passwordToggleColor=getResources().getColor(android.R.color.black); private float pinTextSize=DEFAULT_PIN_TEXT_SIZE; + private int pinTextColor=getResources().getColor(android.R.color.black); +// private int pinCursorColor =getResources().getColor(android.R.color.holo_orange_dark); private short pinCount=DEFAULT_PIN_COUNT, inputType= com.gne.www.lib.InputType.TYPE_NUMBER; private boolean isPassword=false, showPasswordToggle=false, isToggleAdded=false; private Drawable background; @@ -78,6 +84,8 @@ private void setStyleAndPins(AttributeSet attrs){ pinTextSize =a.getDimension(R.styleable.PinView_pinTextSize,DEFAULT_PIN_TEXT_SIZE); passwordToggleSize =a.getDimensionPixelSize(R.styleable.PinView_passwordToggleSize,passwordToggleSize); passwordToggleColor =a.getColor(R.styleable.PinView_passwordToggleColor,passwordToggleColor); + pinTextColor =a.getColor(R.styleable.PinView_textColor,pinTextColor); +// pinCursorColor =a.getColor(R.styleable.PinView_cursorColor,pinCursorColor); if(a.hasValue(R.styleable.PinView_pinBackground)){ background=a.getDrawable(R.styleable.PinView_pinBackground); @@ -114,6 +122,8 @@ private void addPins(){ getResources().getDimensionPixelSize(R.dimen.margin_pin_edit_text),getResources().getDimensionPixelSize(R.dimen.margin_pin_edit_text)); editText.setLayoutParams(layoutParams); editText.setTextSize(pinTextSize); + editText.setTextColor(pinTextColor); +// setCursorColor(editText,pinCursorColor); editText.setMaxLines(1); editText.setLines(1); editText.setPadding(0,0,0,0); @@ -391,6 +401,28 @@ public void setPinTextSize(float textSize){ } } + /** + * Text color of the pins + * @param textColor + */ + public void setTextColor(int textColor){ + pinTextColor=textColor; + for (int i=0; i + +