删除要从Android键盘输入的表情符号

drj*_*ari 2 android android-layout

我的EditText

其中inputType是 android:inputType="text|textCapWords"

问题是当键盘打开时,我可以输入笑脸

如何从Android本机键盘禁用笑脸?

任何帮助将不胜感激

<com.google.android.material.textfield.TextInputLayout
                android:id="@+id/nameInputLayout"
                style="@style/textInputLayout"
                android:layout_marginTop="@dimen/_30sdp"
                app:errorEnabled="true"
                app:errorTextAppearance="@style/ErrorText"
                app:hintTextAppearance="@style/HintText">

                <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/edt_user_name"
                    style="@style/editTextInputLayout"
                    android:hint="@string/enter_your_name"
                    android:imeOptions="actionNext"
                    android:inputType="text|textCapWords"
                    app:fontFamily="@font/muli_regular_font" />


</com.google.android.material.textfield.TextInputLayout>

Run Code Online (Sandbox Code Playgroud)

小智 5

试试这样的东西,这对我有用

editText.setFilters(new InputFilter[]{new EmojiExcludeFilter()});
private class EmojiExcludeFilter implements InputFilter {

        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            for (int i = start; i < end; i++) {
                int type = Character.getType(source.charAt(i));
                if (type == Character.SURROGATE || type == Character.OTHER_SYMBOL) {
                    return "";
                }
            }
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)