现在的位置: 首页 > 综合 > 正文

Android:打开和关闭输入法

2017年11月24日 ⁄ 综合 ⁄ 共 1385字 ⁄ 字号 评论关闭

一、打开输入法窗口:

InputMethodManager inputMethodManager = (InputMethodManager) 

getSystemService(Context.INPUT_METHOD_SERVICE);

// 接受软键盘输入的编辑文本或其它视图

imm.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED);

二、关闭出入法窗口

InputMethodManager inputMethodManager = (InputMethodManager)               

getSystemService(Context.INPUT_METHOD_SERVICE);

inputMethodManager.hideSoftInputFromWindow(OpeListActivity.this.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);

//接受软键盘输入的编辑文本或其它视图

inputMethodManager

.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED);

三、如果输入法打开则关闭,如果没打开则打开

InputMethodManager m=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

四、获取输入法打开的状态

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();
isOpen若返回true,则表示输入法打开

InputMethodManager imm= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
@Override   
    public   boolean  onTouchEvent(MotionEvent event) {  
        // TODO Auto-generated method stub   
        if  (event.getAction() == MotionEvent.ACTION_DOWN) {  
            System.out.println("down" );  
            if  (RegisterActivity. this .getCurrentFocus() !=  null ) {  
                if  (RegisterActivity. this .getCurrentFocus().getWindowToken() !=  null ) {  
                    imm.hideSoftInputFromWindow(RegisterActivity.this .getCurrentFocus().getWindowToken(),  
                            InputMethodManager.HIDE_NOT_ALWAYS);  
                }  
            }  
        }  
        return   super .onTouchEvent(event);  
    }  

抱歉!评论已关闭.