From bb48d4fd35d3161e70ece9c105f0ed2b020a8206 Mon Sep 17 00:00:00 2001 From: Linh Vo Date: Fri, 12 Dec 2025 21:19:17 +0700 Subject: [PATCH] fix: text layout width calculation on Android 15 plus --- .../java/com/facebook/react/views/text/TextLayoutManager.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt index 202ebb351671f7..4a2ba892a07ad8 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt @@ -666,12 +666,13 @@ internal object TextLayoutManager { // Calculate visual bounds width from unconstrained layout var desiredVisualWidth = 0f for (i in 0 until unconstrainedLayout.lineCount) { - val lineWidth = unconstrainedLayout.getLineRight(i) - unconstrainedLayout.getLineLeft(i) + val lineWidth = unconstrainedLayout.getLineMax(i) desiredVisualWidth = max(desiredVisualWidth, lineWidth) } val layoutWidth = when (widthYogaMeasureMode) { + YogaMeasureMode.EXACTLY -> floor(width).toInt() YogaMeasureMode.AT_MOST -> min(ceil(desiredVisualWidth).toInt(), floor(width).toInt()) else -> ceil(desiredVisualWidth).toInt() }