竹山一叶

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  390 随笔 :: 0 文章 :: 0 评论 :: 0 引用

android的文本框输入控件(EditText),有时需要设置控件为只读,最简单的方法就是在layout xml文件中设置EditText的android:editable属性值为false即可,但是大部分时候我们需要在java代码中动态设置EditTex的只读性,而android里没有提供对应的setEditable方法来设置EditText的只读属性,这时候可以通过以下方式变通实现:

Java代码  收藏代码
  1. public static void setEditTextReadOnly(TextView view){  
  2.       view.setTextColor(R.color.read_only_color);   //设置只读时的文字颜色  
  3.       if (view instanceof android.widget.EditText){  
  4.           view.setCursorVisible(false);             //设置输入框中的光标不可见  
  5.           view.setFocusable(false);                 //无焦点  
  6.           view.setFocusableInTouchMode(false);      //触摸时也得不到焦点  
  7.       }  
  8. }  

 让文本框无法获得焦点,文本框内光标也不显示,以得到不可输入的效果,跟web页面中表单文本框的readOnly效果一致






posted on 2017-05-10 16:19  竹山一叶  阅读(...)  评论(...编辑  收藏