美文网首页
Android EditText密码输入框圆点大小变大,保留延时

Android EditText密码输入框圆点大小变大,保留延时

作者: 小强开学前 | 来源:发表于2020-07-15 17:47 被阅读0次

    复制文件到项目。

    class BiggerDotPasswordTransformationMethod : PasswordTransformationMethod() {
        override fun getTransformation(source: CharSequence, view: View): CharSequence {
            return PasswordCharSequence(super.getTransformation(source, view))
        }
    
        private class PasswordCharSequence(private val sequence: CharSequence) : CharSequence by sequence {
            val dot = '\u2022'
            val bigDot = '●'
            override fun get(index: Int): Char = if (sequence[index]==dot) bigDot else sequence[index]
        }
    
    }
    

    然后

    editText.transformationMethod = BiggerDotPasswordTransformationMethod()
    

    原理:
    无非就是文本替换,inputType设置为密码样式时,用户输入文本,隔一段时间或者输入下一个文字的时候,系统默认会将Unicode编码的圆点替换原来的字符。

    这里我们检测到如果它是输入的文本,不做改变,是特定的Unicode就替换为大圆点。

    相关文章

      网友评论

          本文标题:Android EditText密码输入框圆点大小变大,保留延时

          本文链接:https://www.haomeiwen.com/subject/xxyjhktx.html