Android密码明文显示和星号显示切换

562 阅读1分钟

在布局中对应的属性为:
android:inputType=“textPassword”,textPassword为显示星号密码,textVisiblePassword则为显示明文密码,需要在代码中动态改变,则在EditText的文档中找到这些方法和属性对应的代码即可,实现如下:

/** 切换密码类型的输入框中密码的可见性,如果原来是星号显示的,则切换为明文显示,否则显示星号 */
fun togglePasswordEditTextVisibility(editText: EditText) {
    val textPassword = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD
    val textVisiblePassword = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
    editText.inputType = if (editText.inputType == textPassword) {
        textVisiblePassword
    } else {
        textPassword
    }
}