Xamarin EditText InputType密码

时间:2014-03-07 15:43:41

标签: c# android .net xamarin android-edittext

我从JSON文件创建了一些EditText个字段,因此我无法更改XML文件。但我希望一些EditText字段的输入类型为“password”。我正在使用C#在Xamarin Studio工作。

我有类似的东西,但这不起作用:

editText.InputType = InputTypes.TextVariationPassword;

1 个答案:

答案 0 :(得分:17)

试试这个:

editText.InputType = Android.Text.InputTypes.TextVariationPassword | 
                          Android.Text.InputTypes.ClassText;

编辑: 2年后,这个答案中仍有一些兴趣(即投票),所以我想在他的出血手指中添加一个解释评论如下。我希望它会对某人有所帮助。

在许多其他语言/平台(例如HTML)中,您只需将控件设置为password即可。这就是OP试图做的,但Android的设计不同(而且很奇怪恕我直言)。它将标志分为变体。您必须先选择一个班级(例如ClassText),然后应用您想要的变体(例如TextVariationPassword)。如果您只设置变体,则Android不知道您想要哪个类。例如,您可以使用文本密码TextVariationPassword(因此将其与文本类ClassText结合使用),或者您可以使用数字密码NumberVariationPassword(因此您可以将其与数字组合使用) class ClassNumber)。

现在所有解释都开始有意义,除了有人可能会问的问题: Android不能简单地从变体中推断出类,所以我们不必指定多余的东西吗? For上面的简单案例非常简单,但是将一些标志设置为一个控件会变得更加复杂。然而,我个人认为它比目前的冗余设计相对容易实现和更好,令许多开发人员感到意外。