Я хочу изменить метку клавиши на моей пользовательской клавиатуре во время выполнения, проходя через Java.Я нигде не могу найти решение.
java файл ...
открытый класс MyKeyboardService расширяет InputMethodService реализует KeyboardView.OnKeyboardActionListener {
public final static int keyToChange = 257;
KeyboardView kv;
Intent intent;
void updateInputView() {
if (kv == null)
return;
Keyboard currentKeyboard = kv.getKeyboard();
List<Keyboard.Key> keys = currentKeyboard.getKeys();
keys.get(keyToChange).label = "Change Label";
kv.invalidateKey(keyToChange);
}
@Override
public View onCreateInputView() {
checkIfFirstRun();
KeyboardView kv = (KeyboardView) getLayoutInflater().inflate(R.layout.keyboard, null);
Keyboard keyboard = new Keyboard(this, R.xml.layout_keys);
kv.setKeyboard(keyboard);
kv.setPreviewEnabled(false);
kv.setOnKeyboardActionListener(this);
updateInputView();
return kv;
...
XML-файл
<Key
android:codes="257"
android:keyWidth="60%p"/>
Теперь у меня все еще есть пустая метка на ключе.Я хочу, чтобы он отображал «Изменить ярлык»