<android.support.design.widget.TextInputEditText
android:id="@+id/value_text_input_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:gravity="right"
android:saveEnabled="false"
android:textColor="@android:color/black"
android:textColorHint="@android:color/black"
android:textCursorDrawable="@null"
android:inputType="text"
android:textSize="14sp"
android:digits="abcdefghijklmnopqrstuvwxyz"
app:colorAccent="@android:color/black"
app:font="@font/proxima_nova_semibold" />
我尝试过XML
版式和pragmatically
,但它也无法使用其允许的数字和符号:
valueTextInputEditText.setInputType(InputType.TYPE_CLASS_TEXT);
valueTextInputEditText.setKeyListener(DigitsKeyListener.getInstance("abcdefghijklmnopqrstuvwxyz"));
我已尝试EditText
正常工作,但是在我的项目TextInputLayout
中使用它,因此我需要TextInputLayout
功能,因此需要帮助
答案 0 :(得分:0)
您可以将过滤器设置为TextInputEditText
。尝试下面的代码
public class InputFilterCharacter implements InputFilter {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if(isCharacter(source.toString()))
{
return source.toString();
}
return "";
}
private boolean isCharacter(String s) {
return s.matches(".*[a-zA-Z]+.*");
}
}
并设置您的过滤器
TextInputEditText et = findViewById(R.id.value_text_input_edittext);
et.setFilters(new InputFilter[]{new InputFilterCharacter()});