Android IME состоит из нескольких шагов для создания глифа

Предположим, что есть символ '暂', который я хочу написать, используя пользовательский Android IME. Если я хочу показать указанный глиф, когда я нажимаю клавишу "G", за которой следует "E", как мне это сделать (сам G назначается другому коду).

Я знаю, что могу назначить много символов на один и тот же ярлык следующим образом, и я получаю разные результаты, основанные на частоте кликов, используя...

<Key android:codes="xx,yy" android:keyLabel="暂"/>

Моя цель подобна, но некоторые как разные. Я надеялся, что смогу получить желаемый эффект, сделав что-то вроде....

<Key android:codes="xx,xx+zz=yy" android:keyLabel="暂"/>

Но это, похоже, не является правильным способом.

Ответ 1

Вы не можете сделать это в XML, однако это можно сделать программно. Вы можете перезаписать прослушиватель onKey (определенного вида или создать полный новый InputType) и использовать его для отслеживания предыдущих входов. Если слушатель обнаруживает, что "E" предшествует "G", например, выход будет указанным вами ключом. Здесь вы найдете реализацию.