diff --git a/lib/src/android/support/design/widget/TextInputLayout.java b/lib/src/android/support/design/widget/TextInputLayout.java index c67995ee7..c473bb9fd 100644 --- a/lib/src/android/support/design/widget/TextInputLayout.java +++ b/lib/src/android/support/design/widget/TextInputLayout.java @@ -1328,27 +1328,26 @@ public class TextInputLayout extends LinearLayout { if (mTextInputBoxBackground != null) { updateTextInputBoxBounds(); } - - if (mHintEnabled && mEditText != null) { - final Rect rect = mTmpRect; - ViewGroupUtils.getDescendantRect(this, mEditText, rect); - - final int l = rect.left + mEditText.getCompoundPaddingLeft(); - final int r = rect.right - mEditText.getCompoundPaddingRight(); - - mCollapsingTextHelper.setExpandedBounds( - l, - rect.top + mEditText.getCompoundPaddingTop(), - r, - rect.bottom - mEditText.getCompoundPaddingBottom()); - - // Set the collapsed bounds to be the full height (minus padding) to match the - // EditText's editable area - mCollapsingTextHelper.setCollapsedBounds( - l, getPaddingTop(), r, bottom - top - getPaddingBottom()); - - mCollapsingTextHelper.recalculate(); + if (!mHintEnabled || mEditText == null) { + return; } + + final Rect rect = mTmpRect; + ViewGroupUtils.getDescendantRect(this, mEditText, rect); + + final int l = rect.left + mEditText.getCompoundPaddingLeft(); + final int r = rect.right - mEditText.getCompoundPaddingRight(); + + final int collapsedTop = mEditText.getPaddingTop() / 2; + final int collapsedBottom = bottom - top - getPaddingBottom(); + + final int expandedTop = rect.top; + final int expandedBottom = rect.bottom - mEditText.getCompoundPaddingBottom(); + + mCollapsingTextHelper.setExpandedBounds(l, expandedTop, r, expandedBottom); + mCollapsingTextHelper.setCollapsedBounds(l, collapsedTop, r, collapsedBottom); + + mCollapsingTextHelper.recalculate(); } private void collapseHint(boolean animate) {