当前位置:  开发笔记 > 编程语言 > 正文

清除错误后,TextInputLayout.setError()会留空空格

如何解决《清除错误后,TextInputLayout.setError()会留空空格》经验,为你挑选了2个好方法。

我最近使用过TextInputLayout它的setError()方法.我得到的问题是,当我通过调用setError(null)它来清除错误时,会在底部留下如此多的空白空间.

正常:

正常

有错误:

有错误

清除错误后:

清除错误后

在查看源代码后,我发现他们正在制作视图INVISIBLE而不是GONE

.setListener(new ViewPropertyAnimatorListenerAdapter() {
@Override
public void onAnimationEnd(View view) {
    view.setVisibility(INVISIBLE); // here it is

    updateLabelVisibility(true);
} }).start();

我想知道为什么会这样?如何解决这个问题以避免空白?



1> harshitpthk..:

查看文档

public void setErrorEnabled (boolean enabled)

它说

是否在此布局中启用了错误功能.在通过setError(CharSequence)设置错误消息之前启用此功能将意味着在显示错误时此布局不会更改大小.

那么在此基础上,尝试设置setErrorEnabled(true)之前setError(),和设置setErrorEnabled(false)setError(null).


你是对的.感谢您指出了这一点.但它仍占用大量空间,而且在预览布局时也无法预测.我仍然不明白为什么他们这样做.

2> 小智..:

方法setErrorEnabled(false)将清除额外的空间,所以在之后调用它setError(null).

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有