简书链接:原创java代码实现android禁止编辑框编辑但是允许选择查看内容超出的部分的方法
文章字数:190,阅读全文大约需要1分钟

1
2
3
4
5
6
7
8
_editView.setSelectAllOnFocus(true);
_editView.setInputType(InputType.TYPE_NULL);
_editView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
return true;
}
});

如下图是可以选择进行滚动的
image.png

如果是多行 只能换一个写法了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        _editView.setSingleLine(false);
_editView.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);
_editView.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE|InputType.TYPE_CLASS_TEXT);//java代码里只能这么设置 具体可以分析源码得知
// 禁止弹出输入法
_editView.setShowSoftInputOnFocus(false);

// 允许复制编辑
_editView.setFocusable(true);
_editView.setFocusableInTouchMode(true);

// 隐藏光标
_editView.setCursorVisible(false);
//m没办法必须禁用选择功能了
_editView.setMovementMethod(new ScrollingMovementMethod()); // 设置滚动功能
_editView.setHorizontallyScrolling(false); // 允许多行输入
_editView.setVerticalScrollBarEnabled(true); // 启用垂直滚动条
_editView.setMaxLines(6);