Android8.0上隐藏软键盘但显示光标(Fragment中)
场景:自定义小键盘,点击EditText不调出软键盘
onActivityCreated中添加
private void hideKeybord() { getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
try {
Class<EditText> cls = EditText.class;
Method setSoftInputShownOnFocus;
setSoftInputShownOnFocus = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
setSoftInputShownOnFocus.setAccessible(true);
setSoftInputShownOnFocus.invoke(mEditPhoneNum, false);
} catch (Exception e) {
e.printStackTrace();
}
}
场景:EditText点击调用软键盘查找结果,点击其他地方隐藏
OnCreateView中添加
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN|WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);