Android - EditText键盘类型以编程方式

时间:2017-09-29 07:27:51

标签: android android-edittext android-softkeyboard

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

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

setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD);

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

setTransformationMethod(new PasswordTransformationMethod());

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

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

3 个答案:

答案 0 :(得分:0)

对于字体问题,你可以试试这个:

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

答案 1 :(得分:0)

解决方案在这里:

typeface = edittext.getTypeface(); 
editText.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);
editText.setTypeface(typeface);

答案 2 :(得分:0)

// 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());