Используйте этот метод:
В вашем макете XML
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Password"
android:inputType="textPassword"
android:drawableEnd="@drawable/eye" <!--setting eye icon here-->
/>
Тогда в вашем классе Java.
набор Boolean
во всем мире.
Boolean isPasswordVisible = false;
Затем добавьте это в onCreate ()
etPassword.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
final int DRAWABLE_RIGHT = 2;
if(event.getAction() == MotionEvent.ACTION_UP) {
if(event.getRawX() >= (etPassword.getRight() - etPassword.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {
if (isPasswordVisible) {
isPasswordVisible = false;
etPassword.setTransformationMethod(new PasswordTransformationMethod());
} else {
isPasswordVisible = true;
etPassword.setTransformationMethod(new HideReturnsTransformationMethod());
}
return true;
}
}
return false;
}
});
Надеюсь, это поможет вам!