首页 > 解决方案 > 使用 PasswordTransformationMethod 在 kotlin 中将字符屏蔽为星号

问题描述

如何在 kotlin android 中的密码字段的 textinputedittext 中将默认掩码字符更改为星号

标签: androidkotlin

解决方案


创建自定义PasswordTransformationMethod并提供星号字符

class AsteriskTransformationMethod : PasswordTransformationMethod() {
    
    override fun getTransformation(source: CharSequence, view: View): CharSequence {
        return object : CharSequence {
            override val length: Int
                get() = source.length

            override fun get(index: Int) = '*'

            override fun subSequence(startIndex: Int, endIndex: Int): CharSequence {
                return source.subSequence(startIndex, endIndex)
            }
        }
    }
}

然后以TextInputEditText编程方式将其设置为

 textInputEditText.transformationMethod = AsteriskTransformationMethod()

推荐阅读