我最近使用过TextInputLayout
它的setError()
方法.我得到的问题是,当我通过调用setError(null)
它来清除错误时,会在底部留下如此多的空白空间.
正常:
有错误:
清除错误后:
在查看源代码后,我发现他们正在制作视图INVISIBLE
而不是GONE
.setListener(new ViewPropertyAnimatorListenerAdapter() { @Override public void onAnimationEnd(View view) { view.setVisibility(INVISIBLE); // here it is updateLabelVisibility(true); } }).start();
我想知道为什么会这样?如何解决这个问题以避免空白?
查看文档
public void setErrorEnabled (boolean enabled)
它说
是否在此布局中启用了错误功能.在通过setError(CharSequence)设置错误消息之前启用此功能将意味着在显示错误时此布局不会更改大小.
那么在此基础上,尝试设置setErrorEnabled(true)
之前setError()
,和设置setErrorEnabled(false)
后setError(null)
.
方法setErrorEnabled(false)
将清除额外的空间,所以在之后调用它setError(null)
.