Android 数字密码字段
我有一个 EditText 字段,它需要是数字密码字段。纵向模式下一切正常;不在风景中。当用户选择 EditText 字段时,UI 会放大该字段,并且当我键入时,所有字符都可见。
我还需要一个数字键盘。我尝试将输入类型设置为文本密码|数字。 如果我删除“数字”选项,一切正常;否则不行。
有什么建议吗?
I have an EditText field which needs to be a numeric password field. Everything works OK in portrait mode; not in landscape. When the user selects the EditText field, the UI zooms into the field and when I type all the characters are visible.
I need a numeric keyboard also. I tried setting the input type to text password|number.
If I remove "number" option everything works right; otherwise no.
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
无需使用已弃用的
android:password
即可解决此问题。使用以下代码片段,但不要颠倒调用顺序:This problem can be solved without using deprecated
android:password
. Use the following code snippet, but do not reverse the sequence of calls:对于需要隐藏的数字文本条目(密码样式),我找到的最简单的解决方案是使用:
android:inputType="numberPassword"
对我有用的完整示例:
The simplest solution that I found for a numeric text entry that needed to be hidden (password style) was to use:
android:inputType="numberPassword"
Full example that worked for me:
要解决密码在横向模式全屏编辑器中可见的问题(如马库斯所述),您可以添加以下行来禁用全屏编辑器:
您可能还想将字体更改为等宽字体以更好地模拟文本密码行为:
To fix the issue where the password is visible in the landscape mode full-screen editor (as Marcus described), you can add the following line to disable the full-screen editor:
You may also want to change the typeface to monospace to better emulate the text-password behavior:
使用已弃用的
可能会解决您的问题。
Using the deprecated
may solve your problem.
在 XML 和 XML 中尝试一下清单文件没有任何变化,
Try this in XML & nothing changes in manifest file,
这是如何使输入密码有提示但不转换为 * !!。
关于 XML:
感谢 mango 和 rjrjr 的见解:D。
This how to make input password that has hint which not converted to * !!.
On XML :
thanks to : mango and rjrjr for the insight :D.
试试这个:
更多信息此处
Try with this:
More info HERE
我认为你应该使用
android:password="true"
和android:numeric="integer"
。但正如 Android 文档所述(在R.attr.html
中,而不是在TextView
文档中),这些已弃用,您应该使用android:inputType. inputType 采用标志,因此您可以混合多种可能性。我认为
android:inputType="number | password"
应该适合你。如果您也想支持旧设备,则应该指定
android:password="true"
。I think you should use
android:password="true"
andandroid:numeric="integer"
. But as the Android documentation states (inR.attr.html
, not in theTextView
docs), these are deprectated and you should useandroid:inputType
. inputType takes flag, so you can mix mulitple possibilities. And I thinkandroid:inputType="number | password"
should work for you.You should specify
android:password="true"
if you want to support older devices too.