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


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

       // 弹出软键盘
       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,即是否是按下了物理返回键,如果是,则提示是否退出程序;否则即是按下了软键盘上的键,将按键的字符传递给发送线程发送。

    运行效果:

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

  • 相关阅读:
    css
    page
    Process Array
    multiprocessing
    page
    mid
    防御 CSRF
    django 常用过滤器
    template
    Android学习笔记28-对话框Dialog控件的使用
  • 原文地址:https://www.cnblogs.com/mstk/p/3450405.html
Copyright © 2020-2023  润新知