转自: http://blog.csdn.net/le_go/article/details/9264831#comments
参考文档:http://developer.android.com/guide/topics/text/creating-input-method.html
实现输入法的步骤:
输入法程序的核心是一个服务类,这个类必须继承自InputMethodService。
下面先来看看实现一个基本的输入法程序的步骤。
(1)建立一个继承自android.inputmethodservice.InputMethodService的类,称为输入法的服务类。
(2)在AndroidManifest.xml文件中配置这个服务类。
(3)编写一个用于显示软键盘的布局文件。
(4)覆盖InputMethodService类的onCreateInputView方法。
(5)onCreateInputView方法需要返回与第3步建立的布局文件对应的View对象。在返回之前,一般需要设置相应控件的事件,如软键盘按钮单击事件。
(6)在输入法服务类或其他类中编写响应软键盘中按键事件的代码,如按钮单击事件、物理键盘事件等。
下面就来实现一个简单的输入法程序。
第一步:新建一个Android工程命名为simple_inputmethod目录结构如下图:
第二步:建立一个AndroidInputMethodService类,该类继承自InputMethodService,然后在Android.Manifest.xml文件中配置:
AndroidInputMethodService类:
package net.csdn.leigo.inputmethod;
import net.csdn.leigo.inputmethod.R;
import android.inputmethodservice.InputMethodService;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.widget.Button;
public class AndroidInputMethodService extends InputMethodService implements
OnClickListener {
}
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.csdn.leigo.inputmethod" android:versionCode="1" androi