From 82adc1db2810dfe7f820cbec32e1b44e5ab989f6 Mon Sep 17 00:00:00 2001 From: Suphon Thanakornpakapong Date: Fri, 15 Oct 2021 16:44:35 +0700 Subject: [PATCH] Fix drop target icon not centered when truncated --- src/com/android/launcher3/ButtonDropTarget.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/ButtonDropTarget.java b/src/com/android/launcher3/ButtonDropTarget.java index 1f660e98d7..4aadf39745 100644 --- a/src/com/android/launcher3/ButtonDropTarget.java +++ b/src/com/android/launcher3/ButtonDropTarget.java @@ -80,6 +80,8 @@ public abstract class ButtonDropTarget extends TextView private PopupWindow mToolTip; private int mToolTipLocation; + private int mDrawablePadding; + public ButtonDropTarget(Context context, AttributeSet attrs) { this(context, attrs, 0); } @@ -91,6 +93,7 @@ public abstract class ButtonDropTarget extends TextView Resources resources = getResources(); mDragDistanceThreshold = resources.getDimensionPixelSize(R.dimen.drag_distanceThreshold); mDrawableSize = resources.getDimensionPixelSize(R.dimen.drop_target_text_size); + mDrawablePadding = getCompoundDrawablePadding(); } @Override @@ -320,6 +323,7 @@ public abstract class ButtonDropTarget extends TextView mTextVisible = isVisible; setText(newText); setCompoundDrawablesRelative(mDrawable, null, null, null); + setCompoundDrawablePadding(isVisible ? mDrawablePadding : 0); } } @@ -330,7 +334,7 @@ public abstract class ButtonDropTarget extends TextView public boolean isTextTruncated(int availableWidth) { availableWidth -= (getPaddingLeft() + getPaddingRight() + mDrawable.getIntrinsicWidth() - + getCompoundDrawablePadding()); + + mDrawablePadding); CharSequence displayedText = TextUtils.ellipsize(mText, getPaint(), availableWidth, TextUtils.TruncateAt.END); return !mText.equals(displayedText);