本文介绍了清除错误后,TextInputLayout.setError()留出空白空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I recently used TextInputLayout and it's setError() method. The problem I'm getting is, when I clear the error by calling setError(null) it leaves so much of empty space at the bottom.

正常:

有错误:

清除错误后:

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

After looking at the source, I found that they are making the view INVISIBLE instead of GONE

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

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

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

I'm wondering why is it so? How to resolve this to avoid the empty space?

推荐答案

查看文档

public void setErrorEnabled (boolean enabled)

基于此,请尝试在setError()之前设置setErrorEnabled(true),然后在setError(null)之后设置setErrorEnabled(false).

Well based on this, try setting setErrorEnabled(true) before setError(), and, set setErrorEnabled(false) after setError(null).

这篇关于清除错误后,TextInputLayout.setError()留出空白空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 13:30