b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

如何实现一个简单的输入法程序的基本步骤?

电脑杂谈  发布时间:2021-02-03 22:05:34  来源:网络整理

参考文件:

实现输入法的步骤:

输入法程序的核心是服务类,必须从InputMethodService继承。

让我们看一下实现基本输入法程序的步骤。

(1)创建一个从android.inputmethodservice.InputMethodService继承的类,称为输入法服务类。

([2)在AndroidManifest.xml文件中配置此服务类。

([3)编写用于显示软键盘的布局文件。

([4)重写InputMethodService类的onCreateInputView方法。

([5)onCreateInputView方法需要返回与步骤3中建立的布局文件相对应的View对象。返回之前,通常需要设置相应控件的事件,例如软键盘按钮的单击事件。

([6)编写代码,以响应输入法服务类或其他类中的软键盘中的按键事件,例如按钮单击事件,物理键盘事件等。

让我们实现一个简单的输入法程序。

第1步:创建一个名为simple_inputmethod的新Android项目。目录结构如下所示:

程序流程图编写规范_安卓输入法程序编写_编写记忆力测试游戏vb程序

安卓输入法程序编写

第2步:创建一个从InputMethodService继承的AndroidInputMethodService类,然后在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属性。

编写记忆力测试游戏vb程序_程序流程图编写规范_安卓输入法程序编写

输入法资源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:



    

第3步:编写布局文件。该布局文件实际上是软键盘的布局。在此布局中,有5个水平排列的按钮。前四个用于输入4个字符串(标签的android:text属性的值),最后一个按钮用于隐藏软键盘:

keyboard.xml:

第4步:修改AndroidInputMethodService类的代码,首先覆盖onCreateInputView方法,然后在onCreateInputView方法中加载键盘和xml布局文件,并设置按钮click事件,最后返回软键盘的View对象

@Override
	public View onCreateInputView() {
		// 装载keyboard.xml文件
		View view = getLayoutInflater().inflate(R.layout.keyboard, null);
		// 设置布局中5个按钮的单击事件
		view.findViewById(R.id.btn1).setOnClickListener(this);
		view.findViewById(R.id.btn2).setOnClickListener(this);
		view.findViewById(R.id.btn3).setOnClickListener(this);
		view.findViewById(R.id.btn4).setOnClickListener(this);
		view.findViewById(R.id.btn_hide).setOnClickListener(this);
		Log.d(TAG, "onCreateInputView()");
		// 返回View对象
		return view;
	}

安卓输入法程序编写_程序流程图编写规范_编写记忆力测试游戏vb程序

注意:输入法界面(软键盘)不需要我们自己创建活动。此Activity由系统提供,我们只需要在Activity上显示View对象,即onCreateInputView方法的返回值。

最后一个需要处理按钮的单击动作,而AndroidInputMethodService类需要实现OnClickListener接口。

@Override
	public void onClick(View v) {
		if (v.getId() == R.id.btn_hide) {
			// 隐藏软键盘
			hideWindow();
		} else {
			Button button = (Button) v;
			// 获得InputConnection对象
			InputConnection inputConnection = getCurrentInputConnection();
			if (button.getId() == R.id.btn1) {
				// 设置预输入文本
				// setComposingText方法的第2个参数值为1,表示在当前位置预输入文本
				inputConnection.setComposingText(button.getText(), 1);
			} else {
				// 向当前获得焦点的EditText控件输出文本
				// commitText方法第2个参数值为1,表示在当前位置插入文本
				inputConnection.commitText(button.getText(), 1);
			}
		}
	}

您可以通过InoutConnection.setComposedText方法预先输入文本。预输入的文本通常在输入的文本下方显示一个下划线,直到被正式输入的文本替换为止,否则该下划线将始终存在。

运行项目以查看效果图:

安卓输入法程序编写

安卓输入法程序编写

安卓输入法程序编写

安卓输入法程序编写

安卓输入法程序编写

安卓输入法程序编写

经过测试,如果EditText的inputType属性是默认属性,则可以单击以输入,但如果是电话或电子邮件之类的其他属性,则单击无效。可以参考该文档,或者将在下一篇文章中对此进行介绍。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-353286-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...