From 88eb0890219b49c12dd9c873bc51c3929eee44e9 Mon Sep 17 00:00:00 2001 From: conradchen Date: Wed, 22 Dec 2021 15:07:24 -0500 Subject: [PATCH] [TextField] Apply edit text's letter spacing to expanded hints Resolves https://github.com/material-components/material-components-android/issues/2202 PiperOrigin-RevId: 417863400 --- .../android/material/internal/CollapsingTextHelper.java | 7 +++++++ .../google/android/material/textfield/TextInputLayout.java | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/java/com/google/android/material/internal/CollapsingTextHelper.java b/lib/java/com/google/android/material/internal/CollapsingTextHelper.java index 63d7a132658..7a677943cb7 100644 --- a/lib/java/com/google/android/material/internal/CollapsingTextHelper.java +++ b/lib/java/com/google/android/material/internal/CollapsingTextHelper.java @@ -229,6 +229,13 @@ public void setExpandedTextColor(ColorStateList textColor) { } } + public void setExpandedLetterSpacing(float letterSpacing) { + if (expandedLetterSpacing != letterSpacing) { + expandedLetterSpacing = letterSpacing; + recalculate(); + } + } + public void setExpandedBounds(int left, int top, int right, int bottom) { if (!rectEquals(expandedBounds, left, top, right, bottom)) { expandedBounds.set(left, top, right, bottom); diff --git a/lib/java/com/google/android/material/textfield/TextInputLayout.java b/lib/java/com/google/android/material/textfield/TextInputLayout.java index 75c0b1bab0a..0b182a50403 100644 --- a/lib/java/com/google/android/material/textfield/TextInputLayout.java +++ b/lib/java/com/google/android/material/textfield/TextInputLayout.java @@ -1454,9 +1454,12 @@ private void setEditText(EditText editText) { onApplyBoxBackgroundMode(); setTextInputAccessibilityDelegate(new AccessibilityDelegate(this)); - // Use the EditText's typeface, and its text size for our expanded text. + // Use the EditText's typeface, text size, and letter spacing for our expanded text. collapsingTextHelper.setTypefaces(this.editText.getTypeface()); collapsingTextHelper.setExpandedTextSize(this.editText.getTextSize()); + if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { + collapsingTextHelper.setExpandedLetterSpacing(this.editText.getLetterSpacing()); + } final int editTextGravity = this.editText.getGravity(); collapsingTextHelper.setCollapsedTextGravity(