我可以使用numberPassword
作为输入类型并仍然可以看到输入吗?
我的目标是让一个0-9键盘尽可能少的其他键(这就是为什么我更喜欢numberPassword
而不是phone
),但用户应该仍然可以看到他刚才键入。
这就是我所拥有的,但现在密码隐藏在星号后面。
android:digits="1234567890"
android:inputType="numberPassword"
注意:我还尝试setInputType(InputType.TYPE_NUMBER_VARIATION_PASSWORD)
,它使输入可见,但将键盘从仅限数字更改为普通键盘。我需要他们键盘来显示数字 - 但是。
答案 0 :(得分:2)
在Java中,只需执行此操作:
edittext.setTransformationMethod(PasswordTransformationMethod.getInstance());
如果您想稍后隐藏密码,您只需执行此操作:
editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
答案 1 :(得分:1)
有不同的方法可以解决这个问题
您可以使用TextInputEditText和TextInputLayout,如下所示
<android.support.design.widget.TextInputLayout
android:id="@+id/etPasswordLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:passwordToggleEnabled="true"
android:layout_marginBottom="@dimen/login_spacing_bottom">
<android.support.design.widget.TextInputEditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/fragment_login_password_hint"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
使用passwordToggleEnabled,您可以在星号和密码值之间切换
您可以使用Transformation类切换密码星号和值,如下所示
edittextObject.setTransformationMethod(PasswordTransformationMethod.getInstance());
您可以使用要在键盘中显示的值创建自定义键盘。您可以在我撰写的关于custom keyboard
答案 2 :(得分:0)
这完成了这项工作:
uEditText = (EditText) findViewById(R.id.editText);
uEditText.setTransformationMethod(null);