Android输入法开发

参考文档: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目录结构如下图:

Android输入法开发_第1张图片


第二步:建立一个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:




    

    

        
        
            
                
            
        
        
        
            
                
            

            
        
    

配置输入法服务时必须设置
android.permission.BIND_INPUT_METHOD"
权限,并且在标签中添加一个
"android.view.InputMethod" 
动作。

标签中还加入一个标签,用于配置输入法,也就是在“语言与键盘”设置界面可以看到我们编写的输入法,其中android:resource属性制定了

一个输入法资源ID。这个资源文件(method.xml)在res\xml目录中,代码如下:


标签的android:settingActivity属性可以制定输入法设置窗口。


InputMethodSetting.java:

package net.csdn.leigo.inputmethod;

import android.app.Activity;
import android.os.Bundle;

public class InputMethodSetting extends Activity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.setting);
	}

}

setting.xml:




    




第三步:编写一个布局文件。这个布局文件实际上就是软键盘的布局。在这个布局中有5个水平排列的按钮,其中前4个用于输入4个字符串(就是

你可能感兴趣的:(Android实例教程)