我可以在自定义应用内键盘上使用Android InputMethodManager吗?

前端之家收集整理的这篇文章主要介绍了我可以在自定义应用内键盘上使用Android InputMethodManager吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
InputMethodManager是一种应用程序可用于与系统键盘交互的服务. EditText等编辑器也使用它来间接通知键盘更改(例如,updateSelection).

我可以这样得到对InputMethodManager的引用

InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);

我的问题是,这似乎只适用于系统键盘.我可以将InputMethodManager用于custom in-app keyboard吗?如果只是一个孤立的应用程序,我不在乎,但我在一个库中包括一个将在许多应用程序中使用的自定义键盘.我需要一种标准的方式让编辑器与键盘进行通信.

我是否必须编写自己的输入法管理器,或者有一种方法可以将标准的InputMethodManager与我的自定义应用内键盘一起使用?

更新

以下是一些线索,说明如果无法使用标准输入法管理器,我将如何实现自己的自定义输入法管理器.

> InputMethodManager(documentation)(source code)
> InputMethod interface
> InputMethodSession interface
> KeyboardView.OnKeyboardActionListener interface(键盘实现它)
> InputMethodService(键盘扩展此)(documentation)(source code)

@R_301_323@

你应该实施你的.

InputMethodService provides a standard implementation of an InputMethod,which final implementations can derive from and customize. See the base class AbstractInputMethodService and the InputMethod interface for more information on the basics of writing input methods.

猜你在找的Android相关文章