今天做了一个点击EditText获取焦点,不弹出设备系统键盘,只弹出自定义键盘,在网上能查到很多实现这一功能的方法,试了很多,只有一种对我来说是好用的,做个记录方便以后使用
方法一:这个对我来说好用的,也是唯一一个好用的,还会多分享几个网上说的一些好用的办法,我都试过但对于我的代码来说不好用
editTextView.setShowSoftInputOnFocus(false); editTextView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { InputMethodManager imm = (InputMethodManager) getSystemService(getApplicationContext().INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editTextView.getWindowToken(), 0); } });
方法二:在onCreat中添加
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
方法三:在Mainfest对应的activity下添加
android:windowSoftInputMode="stateHidden"
或者添加
android:configChanges="orientation|keyboardHidden"
这些是网上整理的一些大家好用的方法,我想了一下,对我来说不好用可能是因为我在监听输入之后每次都手动在文字后面添加了光标,并且设置了焦点,所以才导致从根部无法解决问题,只能每次监听并强制隐藏
来源地址:https://blog.csdn.net/weixin_52696247/article/details/131111491