Android的EditText长按只显示上面的复制粘贴菜单,不要弹出下面的输入法键盘怎么做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android的EditText长按只显示上面的复制粘贴菜单,不要弹出下面的输入法键盘怎么做?相关的知识,希望对你有一定的参考价值。

4.0以上的API禁止EditText弹出键盘需要这样写:

4.0的是setShowSoftInputOnFocus,4.2的是setSoftInputOnFocus。

EditText editText;
//editText的实例化我不写了
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(e1.getWindowToken(), 0);
try 
Class<EditText> cls = EditText.class;
setSoftInputShownOnFocus = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
setSoftInputShownOnFocus.setAccessible(true);
setSoftInputShownOnFocus.invoke(editText, false);
 catch (Exception e) 
e.printStackTrace();

并且还要在配置文件里面加上android:windowSoftInputMode="stateHidden"

4.0以下的可用editText.setInputType(InputType.TYPE_NULL);

或者直接在XML进行属性设置。

如果对4.0以上系统的操作这句代码,EditText将会没有光标。

参考技术A 1)自己找找在XML文件里面有木有这个方面的属性,自己查文档
2)自己extends EditText , overwrite OnClickListener 函数体空就好了
参考技术B 重写 OnClickListener吧

以上是关于Android的EditText长按只显示上面的复制粘贴菜单,不要弹出下面的输入法键盘怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

Android:EditText长按选词的过程

Android:EditText长按选词的过程

Android 的某些 EditText 字段不响应长按(API 30+ with layout_width 0dp)

如何连续删除键盘退格键上的字符长按android

长按后 EditText 不显示默认的 ContextMenu

text Android Edittext长按没有弹出上下文菜单