当用户关注或点击webview中的html输入元素时,我们是否可以隐藏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 :(得分:4)
您可以使用清单控制每个活动的softkeyboard - Handling Input Method Visibility,如下所示:
<activity
android:name=".Main"
android:windowSoftInputMode="stateAlwaysHidden" >
<activity
android:name=".Main"
android:windowSoftInputMode="stateHidden" >
你也可以控制它,以便它使用&#39; next&#39;从一个edittext到下一个,然后再次使用&#39; done&#39;使用IME options。
android:imeOptions="actionNext"
android:imeOptions="actionDone"
我也意识到问题在于使用webview并且还需要从父布局中禁用任何键盘,因为webview与清单中的活动是分开的,因此将其添加到任何父布局:
android:descendantFocusability="blocksDescendants"
并在网页浏览中:
android:focusable="false"
android:focusableInTouchMode="false"
答案 1 :(得分:1)
在manifest.xml中的活动中尝试这个..
android:windowSoftInputMode="stateHidden"
它可能会有所帮助。