当前位置 : 主页 > 手机开发 > android >

Android开发EditText实现密码显示隐藏

来源:互联网 收集:自由互联 发布时间:2023-02-01
最近在做一个登录、注册页面,里面需要显示或隐藏密码,故做了一个简单的显示和隐藏功能。 关键类TextView.setTransformationMethod(TransformationMethod method),其中TransformationMethod 有两个子类

最近在做一个登录、注册页面,里面需要显示或隐藏密码,故做了一个简单的显示和隐藏功能。

关键类TextView.setTransformationMethod(TransformationMethod method),其中TransformationMethod 有两个子类:

  • HideReturnsTransformationMethod 隐藏回车
  • PasswordTransformationMethod 密码类型

关键代码:

@OnClick(R.id.iv_psw_eye)
    void clickPswEye() {
        int tag = Integer.parseInt(pswEyeIV.getTag().toString());
        if (tag == 1) {//显示密码
            pswEyeIV.setTag(2);
            pswEyeIV.setImageResource(R.mipmap.icon_psw_not_eye);
            passwordET.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
        } else {//隐藏密码
            pswEyeIV.setTag(1);
            pswEyeIV.setImageResource(R.mipmap.icon_psw_eye);
            passwordET.setTransformationMethod(PasswordTransformationMethod.getInstance());
        }
    }

我用ImageView的Tag属性存储当前密码输入框的类型,1是密码类型,2是显示类型。布局组件关键代码如下:

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="45dp"
            android:layout_gravity="center"
            android:layout_marginTop="26dp"
            android:background="@drawable/bg_edit_login"
            android:paddingLeft="26dp">

            <EditText
                android:id="@+id/password_ET"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_toLeftOf="@+id/iv_psw_eye"
                android:background="@null"
                android:gravity="center_vertical"
                android:hint="请输入密码"
                android:inputType="textPassword"
                android:maxLines="1"
                android:textColor="@color/color_666666"
                android:textColorHint="@color/color_999999"
                android:textSize="13sp" />

            <ImageView
                android:id="@+id/iv_psw_eye"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentRight="true"
                android:paddingLeft="20dp"
                android:paddingRight="26dp"
                android:src="@mipmap/icon_psw_eye"
                android:tag="1" />
</RelativeLayout>

截图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

上一篇:详解Flutter中StatefulBuilder组件的使用
下一篇:没有了
网友评论