2015-12-31 111 views
4

當用戶關注或點擊web視圖內的html輸入元素時,我們可以隱藏android系統鍵盤嗎?當用戶在webview中點擊文本框時如何隱藏鍵盤android

我曾嘗試對用戶隱藏鍵盤觸摸的WebView:

webView.setOnTouchListener(new View.OnTouchListener() 
{ 
    @Override 
    public boolean onTouch (View v, MotionEvent event){ 
     Toast.makeText(cx,"Web View Touch",Toast.LENGTH_LONG).show(); 
     v.onTouchEvent(event); 
     InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
     if (imm != null) { 
      imm.hideSoftInputFromWindow(v.getWindowToken(), 0); 

     } 
      return true; 
    } 
}) 

但是,這並不工作。

是否有選擇隱藏鍵盤完全爲應用程序?

+0

檢查這個答案http://stackoverflow.com/a/29409478/5312278 –

+0

感謝@riazhasan我剛纔試過了。當我在webview中點擊textarea時,它不起作用。 – Sirisha

+0

嘿,對不起,它在模擬器Nexus4 API 19工作。但是,當我通過USB與Moto G檢查它不工作。 – Sirisha

回答

2

您可以控制softkeyboard - Handling Input Method Visibility每個活動中的清單如下所示:

<activity 
    android:name=".Main" 
    android:windowSoftInputMode="stateAlwaysHidden" > 

<activity 
    android:name=".Main" 
    android:windowSoftInputMode="stateHidden" > 

你也可以因此流動使用來自一個EditText上「下一步」到下一個,然後控制它與「完成再次隱藏'使用IME options

android:imeOptions="actionNext" 
android:imeOptions="actionDone" 

我也意識到這個問題是使用網頁視圖和需要也禁止從父佈局任何鍵盤,作爲web視圖從清單中的活動分開的,所以將它添加到任何父佈局:

android:descendantFocusability="blocksDescendants" 

,並在網頁視圖:

android:focusable="false" 
android:focusableInTouchMode="false" 
+0

嘿它在模擬器Nexus4 API 19工作。但是,當我通過USB與Moto G檢查它不工作。關於這個問題的任何想法。 – Sirisha

+0

@Sirisha這是我的建議或您的原始代碼? –

+0

您的代碼。謝謝 – Sirisha

0

嘗試這種在manifest.xml的活動..

android:windowSoftInputMode="stateHidden" 

可能會有所幫助。