EditText控件设置只读
16lz
2021-01-23
阅读更多
android的文本框输入控件(EditText),有时需要设置控件为只读,最简单的方法就是在layout xml文件中设置EditText的android:editable属性值为false即可,但是大部分时候我们需要在java代码中动态设置EditTex的只读性,而android里没有提供对应的setEditable方法来设置EditText的只读属性,这时候可以通过以下方式变通实现:
public static void setEditTextReadOnly(TextView view){ view.setTextColor(R.color.read_only_color); //设置只读时的文字颜色 if (view instanceof android.widget.EditText){ view.setCursorVisible(false); //设置输入框中的光标不可见 view.setFocusable(false); //无焦点 view.setFocusableInTouchMode(false); //触摸时也得不到焦点 } }
让文本框无法获得焦点,文本框内光标也不显示,以得到不可输入的效果,跟web页面中表单文本框的readOnly效果一致
更多相关文章
- Android上鲜为人知的UI控件介绍和使用
- 用shape美化控件
- Android 控件界面转成Bitmap
- Android EditText获取焦点事件
- android UI控件之webview控件使用实例:加载网页到webview中
- Android - 获取控件(包括状态栏与标题栏)宽高
- android获取控件宽高