输入法app怎么做

 我来答
青宇TBC
高能答主

2022-02-12 · 世界很大,慢慢探索
知道小有建树答主
回答量:487
采纳率:90%
帮助的人:8.2万
展开全部

开发一个输入法,只需要用到一个核心类和几个可有可无的辅助类。

核心类是InputMethodService,一个输入法几乎所有的功能都是由它来实现的,包括键盘界面的搭建、键盘语言的切换、拼音汉字的转换、候选词的展示、文字的上屏等各种逻辑都通过这个类来实现。InputMethodService类有如下几个主要方法来管理输入法服务的生命周期

·onCreate():输入法开始创建,内部已经实现

设置theme、创建window、填充 rootview、设置布局方式等,我们也可以在此处

做一些初始化操作,但一定不要忘了调用supper.onCreate () ;

·onCreatelnputView():返回一个 view 作为

输入法的键盘布局,通常这个view是由KeyboardView 和 Keyboard两个辅助类生成,当然也完全可以自定义。切换一次输入法只会调用APP内打开

·onCreateCandidatesView():返回一个view

来展示候选词,这个view可有可无,会覆盖到应用上方,一般用半透明的背景,但市面上的输入法一般都用来显示拼音部分,而把候选词放入InputView.同样切换一次输入法只会调用一次;

·onStartlnputView(Editorlnfo):开始输入的

时候调用,每次唤起键盘或切换EditText都会调用,并把EditText的Editorlnfo传过来,输入法要根据 Editorlnfo的信息判断中英文、数字、回车键类型等,来展示不同的键盘,也就是动态切换 InputView的布局;

·onFinishlnput():输入结束的时候调用,此

时可以做一些reset操作,比如隐藏CandidatesView,恢复InputView为默认布局等;APP内打开

·onDestroy():一般在切换其他输入法的时候

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式