android 设置EditText不可编辑内容,响应点击事件

 

方法1:设置

android:editable="false"

这种方法在很久之前已经被弃用了,安卓6.0之后的这句代码没有效果,这个方法无用

方法2:设置

android:enabled="false"

这个方法可以完全达到不可编辑的效果

缺点

1.字体自动变灰色(也就是虚化的效果,和正常字体颜色对比起来很容易让用户知道这个就是不可编辑的,所以个人认为某些时候还可能是个优点)

2。不可以响应点击事件

所以如果以上两个缺点不影响的话,可以使用这个方法,一句代码搞定

 

方法3:换个思路,如果输入框获取不到焦点的话,是不是就不能编辑了呢,于是尝试了

 android:focusable="false"

这种方法确实能让输入框不能获取软键盘弹出,实现不让用户通过软键盘修改输入框,但是,手贱的我(相信也会有这么闲的用户)通过不断的尝试,发现了依然可以修改输入框内容的方法,就是....长按!粘贴!而且,这个方法在点击输入框时,会有光标出现然后马上消失,显然,这样不但在逻辑上没有实现不能编辑,而且在外观上也没有满足。

有没有办法瞒住这些需求呢?

那当然有!

android:cursorVisible="false"//不显示光标
android:focusable="false"//失去焦点
android:textIsSelectable="false"//文字不可选

这下,就大功告成啦!

你可能感兴趣的:(android.view,android,EditText,View)