From 2a28e7a80578f6aaefd9e03f6643113cc017dd18 Mon Sep 17 00:00:00 2001 From: Stypox Date: Sun, 8 Feb 2026 15:36:33 +0100 Subject: [PATCH] Make LongPressMenu scrollable if it does not fit on screen --- .../schabi/newpipe/ui/components/menu/LongPressMenu.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressMenu.kt b/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressMenu.kt index d2953b85e..b875fd7a6 100644 --- a/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressMenu.kt +++ b/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressMenu.kt @@ -28,8 +28,10 @@ import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.widthIn +import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.InlineTextContent import androidx.compose.foundation.text.appendInlineContent +import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.OpenInNew import androidx.compose.material.icons.automirrored.filled.PlaylistPlay @@ -242,8 +244,12 @@ private fun LongPressMenuContent( // width for the landscape/reduced header, measured in button widths val headerWidthInButtonsReducedSpan = 4 val buttonsPerRow = (this.maxWidth / MinButtonWidth).toInt() + val scrollState = rememberScrollState() - Column { + Column( + modifier = Modifier + .verticalScroll(scrollState) + ) { var actionIndex = if (header != null) -1 else 0 // -1 indicates the header while (actionIndex < actions.size) { Row(