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 706b77825eb..03303089ca3 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 @@ -355,6 +355,15 @@ public class TextLayoutManager { int hyphenationFrequency, Layout.Alignment alignment) { Layout layout; + // StaticLayout returns wrong metrics for the last line if it's empty, add something to the + // last line so it's measured correctly + if (text.toString().endsWith("\n")) { + SpannableStringBuilder sb = new SpannableStringBuilder(text); + sb.append("I"); + + text = sb; + } + int spanLength = text.length(); boolean unconstrainedWidth = widthYogaMeasureMode == YogaMeasureMode.UNDEFINED || width < 0; float desiredWidth =