软键盘

来源:互联网 发布:学seo要多久 编辑:程序博客网 时间:2024/06/10 03:18
方法一: 

在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden

方法二: 
让EditText失去焦点,使用EditText的clearFocus方法 

EditText edit=(EditText)findViewById(R.id.edit); edit.clearFocus();

方法三: 
强制隐藏Android输入法窗口 

EditText edit=(EditText)findViewById(R.id.edit); InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(edit.getWindowToken(),0);


设置EditText始终不弹出软件键盘 
例:

EditText edit=(EditText)findViewById(R.id.edit);  
edit.setInputType(InputType.TYPE_NULL);



在EditText中开启软键盘的"Done"按钮

开启软键盘的"Done"按钮:
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);

editText.setOnEditorActionListener(new EditText.OnEditorActionListener() {  

  @Override  

    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  

        if (actionId == EditorInfo.IME_ACTION_DONE) {  

            InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);  

            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);  

                doSomething();

  return true;    

        }  

      return false;  

    }       

});

EditorInfo.IME_ACTION_DONE可以和其他的标志一起组合使用来设置软键盘,比如:
editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI|EditorInfo.IME_ACTION_DONE); 
注意1EditorInfo.IME_ACTION_DONE只有对android:singleLine="true"的EditText有效。至少对HTC_A9191是这样的。
注意2:对于EditorInfo.IME_ACTION_DONE,有些输入法并不支持它,比如搜狐拼音输入法。


原创粉丝点击