输入框,键盘动态控制

一、打开输入法窗口:

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,则表示输入法打开

示例:

config.java----弹出输入法

public static void showSoftInput(final EditText edittext) {
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            public void run() {
                InputMethodManager inputManager =

                (InputMethodManager) edittext.getContext().getSystemService(
                        Context.INPUT_METHOD_SERVICE);
                inputManager.showSoftInput(edittext, 0);
            }
        }, 400);
    }

Config.java----回弹输入法

public static void hideSoftInput(final EditText edittext) {
        InputMethodManager manager = (InputMethodManager) edittext.getContext()
                .getSystemService(Context.INPUT_METHOD_SERVICE);
        manager.hideSoftInputFromWindow(edittext.getWindowToken(),
                InputMethodManager.HIDE_NOT_ALWAYS);
    }

xxActivity.java

Config.showSoftInput(etUserName);  //弹出
Config.hideSoftInput(etUserName);  //弹回

 

posted @ 2014-08-29 14:13  WisonWang  阅读(285)  评论(0编辑  收藏  举报