开发者开源的“茅台脚本”?华为云的重磅新年产品也打得很快! 700页+免费开放! >>>
对于我们来说,重写一个简单的输入方法确实很容易,但是用中文或五笔写输出会比较麻烦。因为您需要引擎,所以建议先使用别人的引擎进行修改。本文重点介绍输入法的UI级别,而不涉及引擎问题。对于引擎问题,您可以检查源代码或在Internet上查找和学习(否则将发表下一篇文章)。
注意:本文中的某些内容与电视方面有关,该程序员是一名Android TV开发人员。
1.了解输入法的整体窗口布局。

电视终端主要由(上,下,左,右,确定)操作,还支持鼠标。

输入法的布局分为两部分,上部是候选框,下部是键盘区域。
2.简要了解Google的输入法
Google的输入法是根据MVC模型编写的。输入法的接口原理非常简单。它读取XML布局并绘制键盘区域。

如果您有源代码,则可以查看Google PinyinIME的res \ xml目录中的xml文件。


那你也可以看看
XmlKeyboardLoader.java文件如何加载和解析XML文件。
SoftKeyboardView.java文件根据已解析的XML文件绘制键盘区域。
Google PinyinIME源代码地址:(编译版本)
3.如何编写简单的输入法
Google有一套输入法框架,还提供了用于编写输入法的API。请记住此类(InputMethodService.java)。
InputMethodService是输入法的关键核心类。
插入剧集。我曾经从事LINUX桌面开发。当时,Linux桌面的输入法确实很难使用。
有许多用于Linux的输入法框架,包括SCIM,ibus和Fcitx。您可以简要了解它们。
后来的Sogou与fcitx合作,为Linux开发了Sogou。我真的很喜欢。
关键核心类具有几个重要功能:
看看如何在AndroidManifest.xml中编写代码。

请注意android:permission和action(android.view.InputMethod)和元数据。
绑定输入法,请求InputMethodService服务,只有系统才能使用它。 (说明)
此外,它也是您作为输入法的识别。
再次查看xml的method.xml
输入法支持许多语法,如果您有兴趣,可以检查。
经过上述几步,基本上就出现了一种超级简单的输入法。
返回键盘区域一个简单的布局(带有几个按钮,确定)
也许您的输入法原型已经问世,您会有很多疑问和好奇心吗?
如何将1.输入法的文本输入EditText? (请参见下面的代码)
/**
* 发送字符到编辑框(EditText)
*/
public void commitResultText(String resultText) {
InputConnection ic = getCurrentInputConnection();
if (null != ic && !TextUtils.isEmpty(resultText)) {
ic.commitText(resultText, 1);
}
}2.如何根据EditText设置一些参数?
InputMethodService中的onStartInputView有一个函数,该函数

3.输入法如何不占据全屏?
InputMethodService的功能
@Override
public boolean onEvaluateFullscreenMode() {
return false;
}4.输入法如何使用引擎(中文,五笔等)?
5.如何在输入法中将文本删除到EditText?
6.输入法如何将光标移动到EditText?
为什么?移动光标?这种需求主要是针对电视。怎么做,我只能粗鲁地粘贴代码。
我最初想到了几种方法。后来,当我在WPS中测试多行文本时,许多移动光标的方法都有问题。最后,只有这种方式才是最安全的。
/**
* 输入框的光标向右移动.
*/
public void setCursorRightMove() {
int cursorPos = getSelectionStart();
cursorPos++;
getCurrentInputConnection().setSelection(cursorPos, cursorPos);
}
/**
* 输入框的光标向左移动.
*/
public void setCursorLeftMove() {
int cursorPos = getSelectionStart();
cursorPos--;
if (cursorPos < 0)
cursorPos = 0;
getCurrentInputConnection().setSelection(cursorPos, cursorPos);
}7.输入法如何将击键发送到EditText?
8.如何编写和自定义自己的输入法XML?
9.如何绘制漂亮的输入法界面?
10.如何发送表情符号
后续活动将继续得到改善,但尚未完成.....(首先休息一下...)
我的开源项目:一个英文输入法演示,一个电视搜狗输入法界面。台湾注音输入法,是互联网上使用的开源注音引擎。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-353275-1.html
怎样算出来的
现在又来中国海域闹事
任何一个门槛低的行业