From 017fe40b2eae734c7576e148be8b6f5dadb70ac1 Mon Sep 17 00:00:00 2001 From: Shinokuni Date: Fri, 30 Aug 2024 18:42:03 +0200 Subject: [PATCH] Make PreferencesScreen scrollable (fixes #190) --- .../app/more/preferences/PreferencesScreen.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/readrops/app/more/preferences/PreferencesScreen.kt b/app/src/main/java/com/readrops/app/more/preferences/PreferencesScreen.kt index 6d6a7a65..519d7413 100644 --- a/app/src/main/java/com/readrops/app/more/preferences/PreferencesScreen.kt +++ b/app/src/main/java/com/readrops/app/more/preferences/PreferencesScreen.kt @@ -8,7 +8,10 @@ import android.os.PowerManager import android.provider.Settings import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material3.ExperimentalMaterial3Api @@ -50,6 +53,7 @@ class PreferencesScreen : AndroidScreen() { val context = LocalContext.current val screenModel = getScreenModel() + val scrollState = rememberScrollState() val coroutineScope = rememberCoroutineScope() val snackbarHostState = remember { SnackbarHostState() } @@ -84,7 +88,12 @@ class PreferencesScreen : AndroidScreen() { else -> { val loadedState = (state as PreferencesScreenState.Loaded) - Column { + // a lazyColumn might be necessary in the future + Column( + modifier = Modifier + .fillMaxWidth() + .verticalScroll(scrollState) + ) { PreferenceHeader(text = stringResource(id = R.string.global)) ListPreferenceWidget(