A custom EditText with a switchable icon which shows or hides the password
This library is deprecated now as there is an official way to use the password toggle with the
TextInputLayout(inside the support library starting with version
24.2.0). ```
</android.support.design.widget.TextInputLayout ``` For more information check the official docs.
A simple extension to the standard Android EditText which shows an icon on the right side of the field and lets the user toggle the visibility of the password he puts in.
Support-library versions
24.2.0and upwards now have built-in functionality to show an eye icon and toggle password visibility (For more info see docs). You can nevertheless still use this lib, maybe because you want some of the features that the built-in approach does not have.
For a complete sample you can check out the sample project provided within.
In short: Just include the
PasswordEditTextinstead of the standard EditText and you are good to go.
You can also wrap
PasswordEditTextinside a
TextInputLayoutto get a material design moving label on top:
<com.maksim88.passwordedittext.passwordedittext android:id="@+id/input_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputtype="textPassword" android:hint="Password"></com.maksim88.passwordedittext.passwordedittext> </android.support.design.widget.textinputlayout>
Note: be sure to include the design library to use
TextInputLayout. (for more details see
sample)
You can also use
TextInputLayoutto achieve an even prettier
setError()dialog using
setErrorEnabled(true)on the outer
TextInputLayoutand then calling
setError()on it. This underlines the text and shows an error message underneath the text.
You can add your own custom icons which are shown on the right side of the
EditText.
Do this by first adding the custom namespace to your root layout, e.g.:
xml
After that you can add the icons with the attributes
app:pet_iconShowand
app:pet_iconHide:
You can also set toggle the monospace Font inside the
PasswordEditTextswith
app:pet_nonMonospaceFont:
Another customization is to just toggle the visibility of the password when the icon is hovered with
app:pet_hoverShowsPw:
If you do not like the alpha, that is set to all the icons, you can disable it using
app:pet_disableIconAlpha
NOTE: alpha values are taken from the material design guidelines (https://www.google.com/design/spec/components/text-fields.html#text-fields-password-input)
For a working example of the different customizations check out the
activity_main.xmlinside the
sampleproject.
The library is available from
jcenter(), so all you need to do is include it in your apps
build.gradle:
dependencies { compile 'com.maksim88:PasswordEditText:v0.9' }
Alternatively you can use
jitpack.io: More info here: https://jitpack.io/#maksim88/PasswordEditText
If you have any questions feel free to open a github issue with a 'question' label
Licensed under the MIT license. See LICENSE.