android EditText彻底搞定输入框隐藏/显示背景 可编辑输入问题
16lz
2021-01-23
开发中经常遇到一个输入框可以灵活改变其是否可以进行输入。如果不可编辑输入,那么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提供的一个常量,但是找了半天没有找到这个常量在哪里,所以用此变通方法解决。有高人知道还望指点。
更多相关文章
- android学习——android text 属性大全
- Android EditView属性详细介绍
- Android studio相对布局的常用属性
- android:layout_weight属性详解
- android中Selector中的相关属性及配置写法
- android:gravity 和 android:layout_Gravity属性——android开发
- Android之TextView属性列表
- Android中TextView属性