Android-编程性的EditText键盘类型



我尝试设置编辑文本的键盘类型。

当我使用以下代码时,它更改了编辑文本提示的字体。

setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD);

所以,我尝试了另一种解决方案。

setTransformationMethod(new PasswordTransformationMethod());

我创建一个编辑文本。我的密码显示在键盘顶部。(看起来像自动建议)。

如何在不更改文本字体的情况下设置密码的键盘类型?

对于字体问题,您可以尝试以下方法:

    editText.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);
    editText.setTypeface(Typeface.DEFAULT);

解决方案在这里:

typeface = edittext.getTypeface(); 
editText.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);
editText.setTypeface(typeface);
// this work for me, donot set android:inputType="textPassword" in your xml file and instead, set it in java
     <EditText
            android:id="@+id/editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

    editText.setTransformationMethod(new PasswordTransformationMethod());