Почему пользовательский интерфейс клавиатуры не появляется при переключении на него? - PullRequest
0 голосов
/ 15 июня 2019

Я пытаюсь создать собственную клавиатуру на 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,ничего не подошло.Я видел примеры, когда значок ключа можно нарисовать.Это правильный способ сделать полностью индивидуальные клавиатуры?Если это так, что я делаю не так?Если нет, то каков правильный путь?Любая помощь или предложение приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...