任何人都可以解释
之间的差异 android:inputType="textPassword",
android:inputType="textVisiblePassword",
android:inputType="textWebPassword",
android:inputType="numberPassword"
Android布局中的EditText ViewGroup ?
答案 0 :(得分:8)
android:inputType="textPassword"
上面的属性将密码作为字符串。
android:inputType="textVisiblePassword"
上面的那个将使密码文本可见。
android:inputType="numberPassword"
这个只会输入一个数字密码。
答案 1 :(得分:8)
来自the doc for android:inputType
:
<强> textPassword 强>
值:0x00000081
作为密码的文本。对应于TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD
。<强> textVisiblePassword 强>
值:0x00000091
作为应该可见的密码的文本。对应于TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
。<强> textWebPassword 强>
值:0x000000e1
将用作Web表单上的密码的文本。对应于TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD
。<强> numberPassword 强>
值:0x00000012
数字密码字段。对应于TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORD
。
答案 2 :(得分:4)
即使已经回答,我也会在密码InputType变体的差异中添加更多细节:
android:inputType="textPassword"
:对应TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD
,即它允许您输入作为密码的字符串(隐藏并阻止自动完成和建议,除非明确设置)。当我们想输入密码时,主要使用这个。android:inputType="textVisiblePassword"
:对应TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
并且与前一个相同但密码是可见的(如果您想使用它来允许将密码视为默认密码,则非常有用,因为它会阻止自动完成和建议除非明确设置 - 建议也有办法隐藏密码)android:inputType="numberPassword"
:对应TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORD
与android:inputType="textPassword"
相同,但您只能输入数字。请注意,如果您使用它,密码将不会如此强大,因此我不建议在处理敏感数据时使用它,除非它与其他类型的用户身份验证一起使用。android:inputType="textWebPassword"
:对应TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD
并且与android:inputType="textPassword"
具有相同的行为,但它旨在用于Web表单,即在浏览器页面内(任何需要的Web表单控件)来自用户的输入)。所以这不应该用在EditText
本机控件中。使用此示例的一个示例是disable AutoSuggestion from Android in a WebView包裹WebView
并更改EditorInfo
输入类型,以在InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD
方法中添加标记onCreateInputConnection
。作为从链接中获取的最后一个示例:
public class NoSuggestionsWebView extends WebView {
...
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs)
{
InputConnection ic = super.onCreateInputConnection(outAttrs);
outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* clear VARIATION type to be able to set new value */
outAttrs.inputType |= InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD; /* WEB_PASSWORD type will prevent form suggestions */
return ic;
}
}
我希望现在很清楚差异,主要是android:inputType="textPassword"
和android:inputType="textWebPassword"