diff options
author | 2023-05-05 14:09:23 +0000 | |
---|---|---|
committer | 2023-05-05 14:09:23 +0000 | |
commit | 11167aa1f2f0d9c8e8a3950b9e3fbfc812420e6f (patch) | |
tree | 2e82cc91a1d7c71b326e5df8adf3fe63f7b33a04 | |
parent | ae1c56e34d1243f13f750e4f151ae77452a5052b (diff) | |
parent | 567372fbdad91a4bfa2ee92acfa572e090d965d2 (diff) |
Merge "Fix text sizes and alignment in drop target" into udc-dev
-rw-r--r-- | res/values/styles.xml | 1 | ||||
-rw-r--r-- | src/com/android/launcher3/ButtonDropTarget.java | 15 | ||||
-rw-r--r-- | src/com/android/launcher3/DropTargetBar.java | 1 |
3 files changed, 7 insertions, 10 deletions
diff --git a/res/values/styles.xml b/res/values/styles.xml index 07148631e6..11861b9884 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -314,6 +314,7 @@ <style name="DropTargetButtonBase" parent="@android:style/TextAppearance.DeviceDefault.Medium"> <item name="android:drawablePadding">@dimen/drop_target_button_drawable_padding</item> <item name="android:padding">14dp</item> + <item name="android:includeFontPadding">false</item> <item name="android:textColor">@color/drop_target_text</item> <item name="android:textSize">@dimen/drop_target_text_size</item> <item name="android:singleLine">true</item> diff --git a/src/com/android/launcher3/ButtonDropTarget.java b/src/com/android/launcher3/ButtonDropTarget.java index fc7f614265..1a8600980f 100644 --- a/src/com/android/launcher3/ButtonDropTarget.java +++ b/src/com/android/launcher3/ButtonDropTarget.java @@ -20,6 +20,7 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import android.content.Context; import android.content.res.Resources; +import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.text.InputType; @@ -58,8 +59,6 @@ public abstract class ButtonDropTarget extends TextView public static final int TOOLTIP_LEFT = 1; public static final int TOOLTIP_RIGHT = 2; - private final Rect mTempRect = new Rect(); - protected final ActivityContext mActivityContext; protected final DropTargetHandler mDropTargetHandler; protected DropTargetBar mDropTargetBar; @@ -417,15 +416,11 @@ public abstract class ButtonDropTarget extends TextView */ @VisibleForTesting protected boolean isTextClippedVertically(int availableHeight) { - availableHeight -= getPaddingTop() + getPaddingBottom(); - if (availableHeight <= 0) { - return true; - } + Paint.FontMetricsInt fontMetricsInt = getPaint().getFontMetricsInt(); + int lineCount = (getLineCount() <= 0) ? 1 : getLineCount(); + int textHeight = lineCount * (fontMetricsInt.bottom - fontMetricsInt.top); - getPaint().getTextBounds(mText.toString(), 0, mText.length(), mTempRect); - // Add bounds bottom to height, as text bounds height measures from the text baseline and - // above, which characters can descend below - return mTempRect.bottom + mTempRect.height() >= availableHeight; + return textHeight + getPaddingTop() + getPaddingBottom() >= availableHeight; } /** diff --git a/src/com/android/launcher3/DropTargetBar.java b/src/com/android/launcher3/DropTargetBar.java index bb6d8b09a2..addcac9f45 100644 --- a/src/com/android/launcher3/DropTargetBar.java +++ b/src/com/android/launcher3/DropTargetBar.java @@ -152,6 +152,7 @@ public class DropTargetBar extends FrameLayout firstButton.setTextVisible(true); firstButton.setIconVisible(true); firstButton.measure(widthSpec, heightSpec); + firstButton.resizeTextToFit(); } else if (visibleCount == 2) { DeviceProfile dp = mLauncher.getDeviceProfile(); int verticalPadding = dp.dropTargetVerticalPaddingPx; |