【发布时间】:2021-09-12 17:04:53
【问题描述】:
通常将inputType=textPassword 设置为用户可以输入任何有风险的字段,例如...密码。当用户输入时,他们输入的每个字符都会短暂闪烁,让用户知道实际输入的内容,然后变成星号,这样不经意的观察者(间谍)很难看到输入的内容。
通常这工作正常。
我有一个特殊情况,出于安全原因,该字符不得闪烁。相反,我只想显示星号。
我可以通过setOnKeyListener() 单独处理每个点击,但这似乎应该很容易。但是我没有看到任何内置的解决方案。请告诉我我遗漏了什么。
【问题讨论】:
-
创建您自己的
TransformationMethod,它只从getTransformation()返回适当数量的星号String,而不是像PasswordTransformationMethod那样具有定时跨度的专用CharSequence。您可以使用setTransformationMethod()将其应用于您的EditText。 -
@MikeM。这很有趣,我以前从未听说过,可能值得写一个答案?
-
这个例子做你想做的事。它变为 。在示例中,但您可以将其更改为 * 或其他任何内容。它暂时不会再显示这些字母了。 stackoverflow.com/a/23110194/11582192
-
@a_local_nobody 嗯,我真的不再那样做了。 :-) 如果您愿意,请随时发布,但您可能想先对其进行测试。我已经有一段时间没有使用那个界面了。
-
您可以使用 before text changed event 将字符存储在数组中,然后将其转换为 astrik。所以,只会显示 astrik 并且 array 会有你的密码。
标签: android user-interface android-edittext passwords