基于TCP和多线程实现无线鼠标键盘-InputMethodManager_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 基于TCP和多线程实现无线鼠标键盘-InputMethodManager

基于TCP和多线程实现无线鼠标键盘-InputMethodManager

 2013/11/29 23:26:46  MSTK  博客园  我要评论(0)
  • 摘要:为了实现无线键盘的功能,使用了InputMethodManager弹出软键盘。//弹出软键盘publicvoidpop_keyboard(){imm=(InputMethodManager)ctx.getSystemService(Context.INPUT_METHOD_SERVICE);imm.toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);}同时监听了按键事件onKeyDown。publicbooleanonKeyDown
  • 标签:实现 多线程 鼠标 线程

为了实现无线键盘的功能,使用了InputMethodManager弹出软键盘。

class="brush:java;gutter:true;">   // 弹出软键盘
   public void pop_keyboard(){
	   
	   imm = (InputMethodManager)ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
	   imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
	   
   }

同时监听了按键事件onKeyDown。

   public boolean onKeyDown(int keyCode, KeyEvent e){
	   
	   // Log.i("keyCode", String.valueOf(keyCode));
	   // Log.i("e.getUnicodeChar", String.valueOf(e.getUnicodeChar()));
	   // Log.i("toString()", e.toString());
	   // 按下键盘上返回按钮  
	    if (keyCode == KeyEvent.KEYCODE_BACK){	 
	    	
	        new AlertDialog.Builder(this) 	  
	        .setTitle("确定退出") 	  
	        .setMessage("确定退出?") 	  
	        .setNegativeButton("No",  
	                new DialogInterface.OnClickListener() {  
	  
	                public void onClick(DialogInterface dialog, int which) {  
	                            // TODO Auto-generated method stub  
	                              
	                    }  
	                })  
	  
	        .setPositiveButton("Yes",  
	                new DialogInterface.OnClickListener() {  
	  
	                    public void onClick(DialogInterface dialog, int whichButton) {  
	  
	                    	CloseActivityClass.exitClient(MainActivity.this);   
	  
	                    }  
	  
	                }).show();  
	  
	    } 
	    else
	    {
	    	send_thread.set_str("k/" + (char)e.getUnicodeChar());
	    }
	   return true;
	   
   }

onKeyDown既监听软键盘的按键,也监听物理键的按键。当发生onKeyDown时,首先判断是否是KeyEvent.KEYCODE_BACK,即是否是按下了物理返回键,如果是,则提示是否退出程序;否则即是按下了软键盘上的键,将按键的字符传递给发送线程发送。

运行效果:

点击“键盘”按钮后弹出软键盘:

上一篇: 美国停车场的数字化 下一篇: 没有下一篇了!
发表评论
用户名: 匿名