在做某金融APP的时候,有这样一个需求:禁止使用系统软键盘,包括第三方输入法,禁止复制粘贴。步骤如下:
1. 布局文件:
<EditText
android:layout_width="match_parent"
android:layout_height="@dimen/height_input_code"
android:longClickable="false"/>
- Activity onCreat初始化:
et_input_code = findViewById(R.id.et_input_code);
mInputManager = (InputMethodManager)et_input_code.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
et_input_code.setOnEditorActionListener(this);
et_input_code.setOnFocusChangeListener(this);
et_input_code.setOnClickListener(this);
et_input_code.setOnTouchListener(this);
- 在以上监听事件中调用如下代码以隐藏软键盘:
if(mInputManager != null && mInputManager.isActive()){
mInputManager.hideSoftInputFromWindow(et_input_code.getApplicationWindowToken(), 0 );
}