Я пытаюсь создать собственную клавиатуру на Android.Я заметил, что приложения, такие как Bitmoji, имеют клавиатуры, которые имеют гораздо более богатый пользовательский интерфейс, чем просто клавиши.Они могут отображать кнопки входа в систему, представления сетки и т. Д. Я хотел сделать что-то подобное.
Я создал файл раскладки клавиатуры, но вместо того, чтобы иметь много клавиш в разных строках, я сделал одну строку с одной клавишей.Вместо того, чтобы этот keyIcon был представлен фактическим ключом, я попытался заменить его другим макетом.Раскладка super_keyboard - это просто линейная раскладка с EditText
и ListView
.В классе обслуживания клавиатуры я загрузил раскладки.
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="10%p"
android:keyHeight="60dp"
>
<Row>
<Key android:codes="49" android:keyEdgeFlags="left"
android:keyIcon="@layout/super_keyboard"/>
</Row>
</Keyboard>
Вот вызов onCreateInputView в моем сервисе
@Override
public View onCreateInputView() {
keyboardView = (KeyboardView) getLayoutInflater().inflate(R.layout.kiwi_keyboard, null);
keyboard = new Keyboard(this, R.xml.kiwi_layout);
keyboardView.setKeyboard(keyboard);
keyboardView.setOnKeyboardActionListener(this);
return keyboardView;
}
Когда я активировал клавиатуру и пытался использовать ее в Messenger,ничего не подошло.Я видел примеры, когда значок ключа можно нарисовать.Это правильный способ сделать полностью индивидуальные клавиатуры?Если это так, что я делаю не так?Если нет, то каков правильный путь?Любая помощь или предложение приветствуются.