PasswordValidationView
Introduction: Android UI component to validate passwords.
Tags:
Off-
Android UI component that validates passwords.
All design credits goes to Piotr Sliwa And inspired by this design
Demo
Setup
Add it in your root build.gradle
at the end of repositories:
allprojects {
repositories {
//...omitted for brevity
maven { url 'https://jitpack.io' }
}
}
Add the dependency
dependencies {
implementation "com.github.kojofosu:PasswordValidationView:$latest_release"
}
Usage
Sample implementation here
Password Validation View
- Add
PasswordValidationView
to your xml layout.
<com.mcdev.passwordvalidationview.PasswordValidationView
android:id="@+id/password_validation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
:bulb: Important
: To avoid the soft keyboard from covering the password validation view, place the view inside a TextInputLayout
<!-- The text input layout-->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password">
<!-- The text input edit text for the password -->
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/password_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:layout_margin="20dp"/>
<!-- The passwrod validation view -->
<com.mcdev.passwordvalidationview.PasswordValidationView
android:id="@+id/pvv"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</com.google.android.material.textfield.TextInputLayout>
Initialize and customise PasswordValidationView
val passEditText = findViewById<EditText>(R.id.password_et) // edittext for the password
val validationView = findViewById<PasswordValidationView>(R.id.pvv) //PasswordValidationView
validationView.passwordEditText = passEditText //Pass the edittext of for the password to validate
validationView.passwordMinLength = 10 //minimum password length
validationView.enabledColor = android.R.color.holo_orange_dark //change valid password activation color
Check if password is complete and valid
validationView.setOnValidationListener {
button.isEnabled = it //returns true if password is complete and valid
}