From 25af5d264d75d5d8a423bc13fd74a8141a38eb62 Mon Sep 17 00:00:00 2001 From: Hanzalah Ravat Date: Thu, 30 Apr 2026 13:18:30 +0100 Subject: [PATCH 1/2] fix(android): honor maxLines/numberOfLines in text renderer --- .../java/voltra/glance/renderers/TextAndImageRenderers.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/voltra/android/src/main/java/voltra/glance/renderers/TextAndImageRenderers.kt b/packages/voltra/android/src/main/java/voltra/glance/renderers/TextAndImageRenderers.kt index fdef0017..f7de2eb1 100644 --- a/packages/voltra/android/src/main/java/voltra/glance/renderers/TextAndImageRenderers.kt +++ b/packages/voltra/android/src/main/java/voltra/glance/renderers/TextAndImageRenderers.kt @@ -53,6 +53,10 @@ fun RenderText( val text = extractTextFromNode(element.c) val renderAsBitmap = element.p?.get("renderAsBitmap") as? Boolean ?: false val textStyle = resolvedStyle?.text ?: voltra.styling.TextStyle.Default + val maxLines = + (element.p?.get("maxLines") as? Number)?.toInt() + ?: textStyle.lineLimit + ?: Int.MAX_VALUE if (renderAsBitmap && textStyle.fontFamily != null) { val context = LocalContext.current @@ -67,6 +71,7 @@ fun RenderText( val bitmapTextStyle = textStyle.copy( color = textStyle.color?.let { VoltraColorValue.Static(it.resolveColor(context)) }, + lineLimit = maxLines, ) // Use screen width as max constraint val maxWidthPx = (context.resources.displayMetrics.widthPixels * 0.9f).toInt() @@ -95,7 +100,7 @@ fun RenderText( } val glanceTextStyle = textStyle.toGlanceTextStyle() - Text(text = text, modifier = finalModifier, style = glanceTextStyle) + Text(text = text, modifier = finalModifier, style = glanceTextStyle, maxLines = maxLines) } @Composable From 4f01bc383468a020f5a782d2785933d304edd1af Mon Sep 17 00:00:00 2001 From: Szymon Chmal Date: Mon, 4 May 2026 08:32:32 +0200 Subject: [PATCH 2/2] chore: add changeset --- .changeset/fix-android-max-lines.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-android-max-lines.md diff --git a/.changeset/fix-android-max-lines.md b/.changeset/fix-android-max-lines.md new file mode 100644 index 00000000..27368cd0 --- /dev/null +++ b/.changeset/fix-android-max-lines.md @@ -0,0 +1,5 @@ +--- +'voltra': patch +--- + +Fix `maxLines` text truncation on Android widgets so line limits apply correctly.