2024年5月11日发(作者:深度ip转换器免费版)
Android键盘整体解读
Android就开放它的IMF(Input Method Framework),让我们能够开发自己的输
入法。而开发输入法最好的参考就是Android自带的Sample-SoftKeyboard,虽然这个
例子仅包含英文和数字输入,但是它本身还算完整和清楚,对我们开始Android开发实战
有很大帮助。
一、IMF简介
一个IMF结构中包含三个主要的部分:
input method manager:管理各部分的交互。它是一个客户端API,存在于各个应
用程序的context中,用来沟通管理所有进程间交互的全局系统服务。
input method(IME):实现一个允许用户生成文本的独立交互模块。系统绑定一个当
前的输入法。使其创建和生成,决定输入法何时隐藏或者显示它的UI。同一时间只能有一
个IME运行。
client application:通过输入法管理器控制输入焦点和IME的状态。一次只能有一个
客户端使用IME。
1、InputManager
由UI控件(View,TextView,EditText等)调用,用来操作输入法。比如,打开,关闭,
切换输入法等。
它是整个输入法框架(IMF)结构的核心API,处理应用程序和当前输入法的交互。可
以通过temService()来获取一个InputMethodManager的实例。
在开发过程中,最基础最重要的就是养成阅读API的习惯。优秀的程序员要养成把自
己关在小黑屋里,断绝与外界的联网和联系,仅仅靠自己电脑中的开发环境和API文档,
以及漂亮女仆送来的每天三顿饭,写出优秀的程序。这个在武侠小说中叫闭关,在软件开
发中叫Clean Room,哈哈。
Android的API文档在:%SDK_ROOM%/docs/reference/,
InputManager类的位
置:%SDK_ROOM%/docs/reference/android/view/inputmethod/InputMethodMa
由于,该类跟本次要讲的Sample关系不大,这里就不详细分析,请各位自行阅读API
doc吧。
2、InputMethodService
包括输入法内部逻辑,键盘布局,选词等,最终把选出的字符通过commitText提交
出来。实现输入法的基础就是名为 InputMethodService的类,比如你要实现一个谷歌输
入法,就是要extends本类。我们接下来要学习的SoftKeyboard Sample也是extends
本类。InputMethodService类的位置在:%SDK_ROOM%/docs/reference
/android/inputmethodservice/
发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1715401349a2612586.html
评论列表(0条)