簡體   English   中英

如何防止軟鍵盤彈出?

[英]How do I prevent the software keyboard from popping up?

我的應用程序中有自己的鍵盤,所以我想一直隱藏軟件鍵盤(在特定的活動和對話框中)。 我嘗試了兩個選項:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

此代碼阻止鍵盤在開始時彈出,但是當我單擊文本框時,鍵盤仍會彈出。

InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);

此代碼隱藏鍵盤,但它不會阻止鍵盤彈出。

請幫忙!

終於想通了!

我用了

public void supressKeyboard() {
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
}

對於我想要壓制鍵盤的活動(你可以將它放在所有其他活動繼承的一般活動中)

但是,當您單擊EditText文本框時,這不會阻止鍵盤彈出。 我做的是我為文本框消耗了onTouch事件:

@Override
public boolean onTouchEvent(MotionEvent event) {
    return true;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM