EditText输入中文时出现下划线拼音

项目中遇到这样一个场景:EditText输入框限制输入3个字符,在有一些机型上出现如下图,出现拼音显示在EditText中,


拼音占据输入框

可以对EditText设置InputFilter,来过滤带下划线的拼音。具体代码如下:

        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            SpannableString ss = new SpannableString(source);
            Object[] spans = ss.getSpans(0, ss.length(), Object.class);
            if (spans != null) {
                for (Object span : spans) {
                    if (span instanceof UnderlineSpan) {
                        return "";
                    }
                }
            }
            return null;
        }
    };

       mEditText.setFilters(new InputFilter[]{mInputFilter});

最终效果如图:


处理后的效果

你可能感兴趣的:(EditText输入中文时出现下划线拼音)