android EditText彻底搞定输入框隐藏/显示背景 可编辑输入问题

Posted 车丁丁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android EditText彻底搞定输入框隐藏/显示背景 可编辑输入问题相关的知识,希望对你有一定的参考价值。

开发中经常遇到一个输入框可以灵活改变其是否可以进行输入。如果不可编辑输入,那么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 EditText彻底搞定输入框隐藏/显示背景 可编辑输入问题的主要内容,如果未能解决你的问题,请参考以下文章

关于如何彻底搞定Android Kitkat+沉浸式状态栏效果

关于如何彻底搞定Android Kitkat+沉浸式状态栏效果

android EditText自定义样式

如何在 Android 中禁用 EditText

Android文本输入框EditText禁用分号

Android 带清除功能的输入框控件EditText