Android 将EditText设置为只读并且可以长按选择复制

需求:输入框,通过不同状态来判断此输入框是否可编辑,并且在不可编辑状态下能实现长按选择复制功能

解决方案:通过setFocusableInTouchMode()方法即可实现输入框是否能编辑,但是当setFocusableInTouchMode(false)时,并不能实现长按选择复制的功能,所以舍弃,改用setKeyListener(null) + setTextIsSelectable(true) 实现这一功能。

设置KeyListener为null, 变为不可输入状态;setTextIsSelectable(true) 设置文字可选

另外,在设置了setTextIsSelectable(true)又为该输入框设置了点击事件,那么会出现需要点击两次才行的情况,解决方案:https://blog.csdn.net/sange77/article/details/90899495

出现问题:

在xml中对textIsSelectable进行统一的设置,在android8.0以下的系统会出现:当输入框为可编辑状态下也无法编辑。如果是在代码中设置的话则不会出现这一情况,所以,在android8.0之前通过XML设置组件属性与通过方法设置属性是否会有差别?

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值