Android数字密码字段

我有一个EditText字段,它需要是一个数字密码字段。 在纵向模式下一切正常; 不在风景。 当用户selectEditText字段时,用户界面放大字段,当我键入所有的字符是可见的。

我还需要一个数字键盘。 我尝试将inputtypes设置为文本密码|编号。 如果我删除“数字”选项一切正常; 否则不。

有什么build议么?

这个问题可以解决,而不使用弃用的android:password 。 使用下面的代码片段,但不要颠倒调用序列:

  EditText editText = (EditText) findViewById(R.id.MyEditText); editText.setInputType(InputType.TYPE_CLASS_NUMBER); editText.setTransformationMethod(PasswordTransformationMethod.getInstance()); 

我find一个最简单的解决scheme,需要隐藏的数字文本条目(密码样式)是使用: android:inputType="numberPassword"

完整的例子,为我工作:

 <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/MyLargeTextBox" android:background="@android:drawable/editbox_background_normal" android:id="@+id/txtWebServicePIN" android:layout_row="3" android:layout_column="2" android:layout_columnSpan="2" android:minWidth="100dp" android:maxWidth="100dp" android:inputType="numberPassword" android:maxLength="6"/> 

要解决密码在横屏模式全屏编辑器中可见的问题(如Marcus所述),可以添加以下行来禁用全屏编辑器:

 editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI); 

您也可以将字体更改为等宽字体以更好地模拟文本密码行为:

 editText.setTypeface(Typeface.MONOSPACE); 

使用已弃用的

 android:password="true" 

可能会解决你的问题。

试试这个在XML和清单文件没有任何更改,

 <EditText android:id="@+id/etPassword" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPassword" android:singleLine="true" /> 

这个如何使input密码有提示,而不是转换成* !!。

在XML上:

 android:inputType="textPassword" android:gravity="center" android:ellipsize="start" android:hint="Input Password !." 

感谢:芒果和rjrjr的洞察力:D。

我认为你应该使用android:password="true"android:numeric="integer" 。 但是,正如Android文档所述(在R.attr.html ,而不是在TextView文档中),这些文档已被删除,您应该使用android:inputType 。 inputType需要标志,所以你可以混合多种可能性。 而且我认为android:inputType="number | password"应该适合你。

如果你也想支持旧的设备,你应该指定android:password="true"