diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java index 7ed7b71223fa..b3d5977453ff 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java @@ -673,6 +673,7 @@ public PreparedLayout prepareLayout( getYogaSize(minWidth, maxWidth), getYogaMeasureMode(minWidth, maxWidth), getYogaSize(minHeight, maxHeight), + getYogaMeasureMode(minHeight, maxHeight), null /* T219881133: Migrate away from ReactTextViewManagerCallback */); int maximumNumberOfLines = diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java index d472400711eb..87bce46bdbda 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java @@ -612,6 +612,7 @@ public static Layout createLayout( float width, YogaMeasureMode widthYogaMeasureMode, float height, + YogaMeasureMode heightYogaMeasureMode, @Nullable ReactTextViewManagerCallback reactTextViewManagerCallback) { Spannable text = getOrCreateSpannableForText(context, attributedString, reactTextViewManagerCallback); @@ -668,7 +669,7 @@ public static Layout createLayout( width, YogaMeasureMode.EXACTLY, height, - YogaMeasureMode.UNDEFINED, + heightYogaMeasureMode, minimumFontSize, maximumNumberOfLines, includeFontPadding, @@ -799,6 +800,7 @@ public static long measureText( width, widthYogaMeasureMode, height, + heightYogaMeasureMode, reactTextViewManagerCallback); int maximumNumberOfLines = @@ -1080,6 +1082,7 @@ public static WritableArray measureLines( width, YogaMeasureMode.EXACTLY, height, + YogaMeasureMode.EXACTLY, null); return FontMetricsUtil.getFontMetrics( layout.getText(), layout, Preconditions.checkNotNull(sTextPaintInstance.get()), context); diff --git a/packages/rn-tester/js/examples/Text/TextAdjustsDynamicLayoutExample.js b/packages/rn-tester/js/examples/Text/TextAdjustsDynamicLayoutExample.js index b11e72f00f3b..ae21dcd101d4 100644 --- a/packages/rn-tester/js/examples/Text/TextAdjustsDynamicLayoutExample.js +++ b/packages/rn-tester/js/examples/Text/TextAdjustsDynamicLayoutExample.js @@ -20,6 +20,7 @@ export default function TextAdjustsDynamicLayoutExample(props: {}): React.Node { @@ -28,13 +29,25 @@ export default function TextAdjustsDynamicLayoutExample(props: {}): React.Node { -