我的需求以及遇到的问题
详情页面和编辑页面使用同一个布局文件,其中有 EditText,当查看的时候 EditText 不应该能够点击唤起输入法,用 disable 方法的话文字颜色会明显变灰。我的需求是保持文字颜色不变的同时,“禁用”EditText。
我的解决方法,以 EditText 为例
注:如果要“禁用”CheckBox 的话,操作基本一样
效果:无法点击,无法选中,长按无反应,而且文字颜色仍然不变
代码方式
fun disableEditText(editText: TextInputEditText) { editText.isFocusable = false editText.isLongClickable = false editText.isClickable = false editText.isFocusableInTouchMode = false editText.setTextIsSelectable(false) editText.setSelectAllOnFocus(false) editText.isCursorVisible = false editText.setSelectAllOnFocus(false) }
XML 方式
android:clickable="false" android:cursorVisible="false" android:focusable="false" android:focusableInTouchMode="false" android:longClickable="false" android:selectAllOnFocus="false" android:textIsSelectable="false"