Это не тривиальная задача.
Прежде всего, вам нужно переопределить метод onCreateInputConnection ()
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
return new MyInputConnection(this, surfaceView, false);
}
Затем вам нужно реализовать этот класс входного соединения, производный от BaseInputConnection .
class MyInputConnection extends BaseInputConnection{
private MyActivity activity;
public MyInputConnection(MyActivity activity, View targetView, boolean fullEditor)
{
super( targetView, fullEditor );
mActivity = activity;
}
public boolean commitText(CharSequence text, int newCursorPosition){
myActivity.drawText((String) text);
return true;
}
Существуют и другие методы, которые вы хотите переопределить (см. Ссылку), но начните с сосредоточения на commitText (). DrawText () - это метод, который визуализирует текст на вашей поверхности, вам нужно придумать реализацию, которая соответствует вашим потребностям.