Decrease text size if it doesn't fit the cell
Bug: 293467738 Test: ResponsiveHomeScreenImageTest Test: ResponsiveAllAppsImageTest Test: DeviceProfileResponsiveDumpTest Flag: ENABLE_RESPONSIVE_WORKSPACE Change-Id: Ic0b2d3cde1d4b8b9089f93b96c9bb386247603ce
This commit is contained in:
@@ -63,6 +63,7 @@ import com.android.launcher3.responsive.FolderSpecs;
|
||||
import com.android.launcher3.responsive.HotseatSpecs;
|
||||
import com.android.launcher3.responsive.WorkspaceSpecs;
|
||||
import com.android.launcher3.uioverrides.ApiWrapper;
|
||||
import com.android.launcher3.util.CellContentDimensions;
|
||||
import com.android.launcher3.util.DisplayController;
|
||||
import com.android.launcher3.util.DisplayController.Info;
|
||||
import com.android.launcher3.util.IconSizeSteps;
|
||||
@@ -1049,20 +1050,20 @@ public class DeviceProfile {
|
||||
|
||||
// TODO(b/296400197): isVerticalBar shouldn't show labels anymore
|
||||
iconDrawablePaddingPx = getNormalizedIconDrawablePadding();
|
||||
int iconTextHeight = Utilities.calculateTextHeight(iconTextSizePx);
|
||||
int cellContentHeight = iconSizePx + iconDrawablePaddingPx + iconTextHeight;
|
||||
|
||||
while (iconSizePx > mIconSizeSteps.minimumIconSize()
|
||||
&& cellContentHeight > cellHeightPx) {
|
||||
iconDrawablePaddingPx -= cellContentHeight - cellHeightPx;
|
||||
if (iconDrawablePaddingPx < 0) {
|
||||
// get a smaller icon size
|
||||
iconSizePx = mIconSizeSteps.getNextLowerIconSize(iconSizePx);
|
||||
iconDrawablePaddingPx = getNormalizedIconDrawablePadding();
|
||||
}
|
||||
// calculate new cellContentHeight
|
||||
cellContentHeight = iconSizePx + iconDrawablePaddingPx + iconTextHeight;
|
||||
CellContentDimensions cellContentDimensions = new CellContentDimensions(iconSizePx,
|
||||
iconDrawablePaddingPx,
|
||||
iconTextSizePx);
|
||||
if (isVerticalLayout && cellHeightPx < iconSizePx) {
|
||||
cellContentDimensions.setIconSizePx(
|
||||
mIconSizeSteps.getIconSmallerThan(cellHeightPx));
|
||||
} else {
|
||||
cellContentDimensions.resizeToFitCellHeight(cellHeightPx, mIconSizeSteps);
|
||||
}
|
||||
iconSizePx = cellContentDimensions.getIconSizePx();
|
||||
iconDrawablePaddingPx = cellContentDimensions.getIconDrawablePaddingPx();
|
||||
iconTextSizePx = cellContentDimensions.getIconTextSizePx();
|
||||
int cellContentHeight = cellContentDimensions.getCellContentHeight();
|
||||
|
||||
cellYPaddingPx = Math.max(0, cellHeightPx - cellContentHeight) / 2;
|
||||
} else if (mIsScalableGrid) {
|
||||
|
||||
Reference in New Issue
Block a user