我想点击我的WebView中的输入字段,当元素聚焦到>>>未打开<<<标准键盘(用于在设备上单击按钮后从本机扫描仪添加条形码)。
我尝试使用此代码来关闭键盘:
public static Activity getActivity(Context context) {
if (context == null) return null;
if (context instanceof Activity) return (Activity) context;
if (context instanceof ContextWrapper) return getActivity(((ContextWrapper)context).getBaseContext());
return null;
}
变体1 - 打开或关闭键盘,但仅限于活动开始。
getActivity(getContext()).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
变体2 - 使用变体1后,键盘打开(用于测试关闭键盘),从js加载WebView调用事件后,键盘关闭并再次打开。此外,如果长按输入字段,键盘将关闭。但是,如果我取消按键,键盘会再次打开)
InputMethodManager imm = (InputMethodManager) getActivity(mContext).getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive()){
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // hide
} else {
imm.toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY); // show
}
this screen when i open activity this screen what i need, but on this screen i hold on input field more 2 sec. I need that effect on click