是否可以隐藏特定的键盘按钮?我有一个EditText
,在某些设备上它的键盘有笑脸,而在其他设备上则缺少它。我想在所有设备上隐藏它。
下面是我的EditText
的XML:
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新手,如果不可能,我想知道原因。
谢谢您的帮助。
我真的不明白为什么这个问题被贬低了。这是一个有效的问题。
我找到了一些here。
你需要从textLongMessage
中删除inputType
选项。
在大多数键盘上你仍会有“:-)”按钮,但不是表情符号。
这在Android 4.4.2上适用于我
android:inputType="textEmailAddress|textMultiLine"
来自PetrDaña的类似问题...这可以自动完成并禁用所有表情符号。
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});
我尝试了@Adrian的解决方案,但它有“@”和“.com”键。我只需要一个可以取用户名字的字段。我通过组合textVisiblePassword和textNoSuggestions.
android:inputType="textVisiblePassword|textNoSuggestions
得到了我的解决方案