Я разрабатываю мягкую клавиатуру для Android, и я хочу, чтобы ключ «DONE» (KEYCODE_DONE) был изменен на «поиск, следующий "в соответствии с параметрами EditText ime. Как я могу это достичь?Изменить метку «Готово» на моей программной клавиатуре на «Поиск, Далее» в соответствии с параметрами EditText ime
-1
A
ответ
0
Наконец, я нашел его. Создайте класс, который расширяет Keyboard и добавляет следующий метод и вызывает его из класса InputMethodService.
@Override
protected Key createKeyFromXml(Resources res, Row parent, int x, int y, XmlResourceParser parser) {
Key key = new Key(res, parent, x, y, parser);
if (key.codes[0] == -4) {
mEnterKey = key;
}
return key;
}
private Key mEnterKey;
void setImeOptions(Resources res, int options) {
if (mEnterKey == null) {
return;
}
switch (options & (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION)) {
case EditorInfo.IME_ACTION_GO:
mEnterKey.iconPreview = null;
mEnterKey.icon = null;
mEnterKey.label = "Go";
break;
case EditorInfo.IME_ACTION_NEXT:
mEnterKey.iconPreview = null;
mEnterKey.icon = null;
mEnterKey.label = "Next";
break;
case EditorInfo.IME_ACTION_SEARCH:
mEnterKey.icon = null;
mEnterKey.iconPreview = null;
mEnterKey.label = "Search";
break;
case EditorInfo.IME_ACTION_SEND:
mEnterKey.iconPreview = null;
mEnterKey.icon = null;
mEnterKey.label = "Send";
break;
default:
mEnterKey.icon = null;
mEnterKey.iconPreview = null;
mEnterKey.label = "Return";
break;
}
}
0
Проверьте эту ссылку. Существуют разные действия. выберите тот, который вам нужен.
http://developer.android.com/reference/android/widget/TextView.html#attr_android:imeOptions
[Здесь] (http://stackoverflow.com/questions/2568637/how-to-disable-next-button-on-a-edittext-software-keyboard-replace-with-done) является вашим ответ. – Harry
Я разрабатываю мягкую клавиатуру. Я не создаю приложение, содержащее EditText. – myatmins