PasswordValidationView
Android UI component that validates passwords.
All design credits goes to Piotr Sliwa And inspired by this design
Demo
Screen_Recording_20230315_145802_PassValidationView.mp4
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"/>
???? 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
}