开发中经常遇到一个输入框可以灵活改变其是否可以进行输入。如果不可编辑输入,那么xml文件中设定属性:

android:background="@null" android:enabled="false" android:editable="false"就可以,显示效果和TextView一样,关键是如果想在java程序中恢复编辑却不是那么利索,主要是因为针对editable属性没有直接设置的。通过查阅资料找到一个可以彻底解决的办法。

private void setEditText(EditText editText, boolean edit) {  
        if (edit) {  
            editText.setEnabled(true);  
            editText.setInputType(InputType.TYPE_CLASS_TEXT);  
            editText.setBackgroundDrawable(new EditText(getBaseContext())  
                    .getBackground());  
        } else {  
            editText.setEnabled(false);  
            editText.setInputType(InputType.TYPE_NULL);  
            editText.setBackgroundDrawable(null);  
        }  
    }  
其中editText.setBackgroundDrawable(new EditText(getBaseContext())
.getBackground());中的new EditText(getBaseContext())
.getBackground()应该是android提供的一个常量,但是找了半天没有找到这个常量在哪里,所以用此变通方法解决。有高人知道还望指点。

更多相关文章

  1. Android重量级开发之--提高android启动速度研究
  2. Android(安卓)Studio使用教程、工程目录结构、使用注意事项、常
  3. android中的SVG图像的各个属性意义
  4. android下开源项目
  5. android:exported
  6. 谈谈Ubuntu for Android
  7. android学习——android text 属性大全
  8. android设置Activity背景色为透明的2种方法
  9. 10个android开源项目

随机推荐

  1. Android职业规划
  2. Android 属性动画的原理分析
  3. Android系统在新进程中启动自定义服务过
  4. android xml使用pull解析
  5. Multiple markers at this line - The ty
  6. 2种自定义android标题栏titleBar的方法
  7. Android6.0源码开发之修改默认音量defaul
  8. android中Matrix之一(图片二维转动)
  9. android Looper& Handler
  10. React Native嵌入Android原生项目中