软键盘

方法一: 

在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 ); 
注意1 EditorInfo.IME_ACTION_DON E 只有对 android:singleLine="true" 的EditText有效。至少对HTC_A9191是这样的。
注意2:对于 EditorInfo.IME_ACTION_DON E ,有些输入法并不支持它,比如搜狐拼音输入法。


你可能感兴趣的:(软键盘)