Show/Hide Password in EditText in Android

Droid By Me
2 min readJan 5, 2018

Sometimes in your Android Application, you want to have password field mostly in Login — Sign up screen. Here we show code snippet, using this you can do this logic.

Layout activity_main.xml

<?xml version=”1.0" encoding=”utf-8"?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android"
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:layout_margin=”16dp”
android:orientation=”vertical”>
<EditText
android:id=”@+id/edtPassword”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:hint=”Enter password”
android:inputType=”textPassword” />
<android.support.v7.widget.AppCompatCheckBox
android:id=”@+id/checkbox”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Show Password” />
</LinearLayout>

Here one edittext with input type = password and one checkbox. We have to manage show/hide password using this checkbox.

Show Password:
edtPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
Hide Password:
edtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());

MainActivity.java

package com.example.demoproject;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.AppCompatAutoCompleteTextView;
import android.support.v7.widget.AppCompatCheckBox;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {private AppCompatAutoCompleteTextView autoTextView;private AppCompatAutoCompleteTextView autoTextViewCustom;
private android.widget.EditText edtPassword;
private AppCompatCheckBox checkbox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkbox = (AppCompatCheckBox) findViewById(R.id.checkbox);
edtPassword = (EditText) findViewById(R.id.edtPassword);
checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if (!isChecked) {
// show password
edtPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
} else {
// hide password
edtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
}
});
}
}

Here’s output:

--

--