いくつかの入力フィールドを持つ垂直線形レイアウトがあります。TextInputLayout を使用すると、ラベルと組み込みのエラー メッセージを含む適切なフローが得られます。私の問題は、エラーメッセージを追加および削除するときです。
エラーメッセージを追加すると、編集テキストの下に配置され、すべてがうまく見えます。
setError(null) でエラー メッセージを削除すると、メッセージは削除されますが、スペースはまだ残っています。これは明らかにGoogleの設計によるものです(https://code.google.com/p/android/issues/detail?id=176005を参照)。UI の見栄えが非常に悪くなるため、このスペースを削除していただきたいと思います。
.setErrorEnabled(false) を実行すると、ビューが削除され、すべてが再び正常に見えます。ただし、ユーザーがデータを変更して別の setError を実行すると、エラー メッセージは表示されません (編集テキスト行のみが赤くなります)。