Ответ 1
Я действительно не понимаю, почему вопрос опущен. Это правильный вопрос.
Я нашел что-то здесь.
Вам нужно удалить параметр textLongMessage
из inputType
.
У вас по-прежнему будет кнопка ":-)" на большинстве клавиатур, но не emoji.
Можно ли скрыть конкретную кнопку клавиатуры? У меня есть EditText, и на некоторых устройствах у его клавиатуры есть смайлики, а на других устройствах это отсутствует. Я хочу скрыть его на всех устройствах.
Ниже приведен xml для моего EditText:
android:id="@+id/text_editor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/send_side"
android:hint="Enter your text"
android:imeOptions="actionSend|flagNoEnterAction"
android:inputType="textLongMessage|textAutoCorrect|textCapSentences|textMultiLine"
android:maxLength="1000"
android:maxLines="3"
android:nextFocusRight="@+id/send_button"
android:padding="12dp"
android:textSize="13sp"
Я должен сказать, что я новичок на Android, и если это невозможно, я хотел бы знать, почему.
Благодарим вас за помощь.
Я действительно не понимаю, почему вопрос опущен. Это правильный вопрос.
Я нашел что-то здесь.
Вам нужно удалить параметр textLongMessage
из inputType
.
У вас по-прежнему будет кнопка ":-)" на большинстве клавиатур, но не emoji.
(Для полноты)
Это решение предназначено для людей, которым требуется текстовое представление без смайлика на их мягкой клавиатуре. Решение @Adrian, чтобы использовать тип адреса электронной почты, работает, но оно будет показывать ненужные кнопки "@" и ".com" на вашей клавиатуре. Я попробовал несколько комбинаций InputType и лучшего решения IMHO:
mTextView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Это работало для меня на Android 4.4.2
android:inputType="textEmailAddress|textMultiLine"
От Петра Дании в аналогичном вопросе... Это позволяет автозаполнять и отключает все смайлики.
InputFilter filter = new 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));
//System.out.println("Type : " + type);
if (type == Character.SURROGATE || type == Character.OTHER_SYMBOL) {
return "";
}
}
return null;
}
};
mMessageEditText.setFilters(new InputFilter[]{filter});
Обратитесь к к полному сообщению ответа