首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android中统制虚拟键盘

2012-09-06 
Android中控制虚拟键盘经常能用到的。??package com.domeimport android.app.Activityimport android.con

Android中控制虚拟键盘

经常能用到的。

?

?

package com.dome;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.KeyEvent;import android.view.View;import android.view.WindowManager;import android.view.inputmethod.InputMethodManager;import android.widget.Button;import android.widget.Toast;/** * 这是一个控制虚拟键盘的Dome *  * @author wuxin *  */public class KeyCodeDomeActivity extends Activity {// 自定一个可以打开虚拟键盘的按钮private Button button;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// 获得它的资源button = (Button) findViewById(R.id.button1);// 设置它的监听事件button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub// 获得控制键盘的类的对象InputMethodManager imm = (InputMethodManager) KeyCodeDomeActivity.this.getSystemService(INPUT_METHOD_SERVICE);// 打开(自动控制的再次点击按钮就会消失的)imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);}});}/** * 当触发点击按钮事件后(仅限于虚拟键盘、返回键、Home键、菜单键....) */@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stub/* *  判断是否点击的按键是返回键/注意添加权限:android.permission.BIND_INPUT_METHOD */if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {Toast.makeText(KeyCodeDomeActivity.this, "我是返回键",Toast.LENGTH_SHORT).show();return true;// 一定要设置为true否则回回退}/* *  判断是否点击的按键是Home键/注意添加权限:android.permission.DISABLE_KEYGUARD *  重点:一定要加上下面的onAttachedToWindow()方法 */if (KeyEvent.KEYCODE_HOME == keyCode) {Toast.makeText(getApplicationContext(), "我是Home键",Toast.LENGTH_SHORT).show();return true;}/* * 判断是否点击的按键是menu键 */if(KeyEvent.KEYCODE_MENU == keyCode){Toast.makeText(getApplicationContext(), "我是Menu键",Toast.LENGTH_SHORT).show();return true;}/* * 判断是否点击的按键是搜索键 */if(KeyEvent.KEYCODE_SEARCH == keyCode){Toast.makeText(getApplicationContext(), "我是搜索键",Toast.LENGTH_SHORT).show();return true;}return super.onKeyDown(keyCode, event);}/* * (non-Javadoc) * @see android.app.Activity#onAttachedToWindow() */public void onAttachedToWindow() {this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);super.onAttachedToWindow();}}

?

?

?

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:text="虚拟键盘"android:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button></LinearLayout>

热点排行