`
zweichxu
  • 浏览: 131955 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

EditText控件设置只读

阅读更多

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效果一致

分享到:
评论
3 楼 woweipingzui 2014-05-22  
2楼的方法试了,不好用,android:editable="false"这个倒是可以
2 楼 kangear 2014-03-30  
现在用android:inputType="none"代替了。
1 楼 xiaohexing374 2011-11-07  

相关推荐

Global site tag (gtag.js) - Google Analytics