對於EditText 可以設置setInputType(InputType.TYPE_NULL);輸入法就不會彈出。需要的時候在動態設置InputTyep.
如果一加載Activity 可以用getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
隱藏輸入法,就不用判斷焦點了。o(∩_∩)o
如果是想獲取到焦點的時候隱藏輸入法,可以試下(我沒試過,但是在工程代碼裏看到了。就記錄下)
// 隱藏手機鍵盤
private void hideIM(View edt) {
try {
InputMethodManager im = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
IBinder windowToken = edt.getWindowToken();
if (windowToken != null) {
im.hideSoftInputFromWindow(windowToken, 0);
}
} catch (Exception e) {
}
}
在設置OnFocusChangeListener時,可以這樣調用
kaishiriqi.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus == true) {
timeFlag = 0;
hideIM(v);
showDialog(0);
}
}
});
方法還有很多,先記錄到這。歡迎補充。。。。