关于密码框的小眼睛Kotlin代码

841 阅读1分钟

使得密码可见

废话不多说,直接上代码 这个是使用Kotlin的Activity的:

var isHideFirst = true
    login_img_eye.setOnClickListener {
        if (isHideFirst === true) {
            login_img_eye.setImageResource(R.drawable.kejian)
            //密文
            val method1 =
                HideReturnsTransformationMethod.getInstance()
            login_et_password.setTransformationMethod(method1)
            isHideFirst = false
        } else {
            login_img_eye.setImageResource(R.drawable.kejian2)
            //密文
            val method: TransformationMethod = PasswordTransformationMethod.getInstance()
            login_et_password.setTransformationMethod(method)
            isHideFirst = true
        }
        // 光标的位置
        // 光标的位置
        val index: Int = login_et_password.getText().toString().length
        login_et_password.setSelection(index)
    }
    
    
    

kejian2.png

kejian.png

布局:

<EditText
    android:id="@+id/login_et_password"
    android:layout_width="300dp"
    android:layout_height="50dp"
    android:layout_margin="20dp"
    android:background="@drawable/item_corners"
    android:hint="密  码:请输入密码"
    android:padding="10dp"
    android:inputType="textPassword"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@id/login_et_phone" />

<ImageView
    android:id="@+id/login_img_eye"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_marginLeft="220dp"
    android:src="@drawable/dlqq"
    app:layout_constraintBottom_toBottomOf="@id/login_et_password"
    app:layout_constraintLeft_toLeftOf="@id/login_et_password"
    app:layout_constraintRight_toRightOf="@id/login_et_password"
    app:layout_constraintTop_toTopOf="@id/login_et_password" />