From aa8adfb6f7df0c74c070a34ed9983a8ab72a0133 Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Mon, 14 Aug 2023 23:10:32 +0800 Subject: [PATCH] Use LazyColumn in showSelectItem() --- .../com/hippo/ehviewer/ui/tools/Dialog.kt | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/tools/Dialog.kt b/app/src/main/java/com/hippo/ehviewer/ui/tools/Dialog.kt index bb99fec6e..e5d6994d5 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/tools/Dialog.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/tools/Dialog.kt @@ -3,12 +3,10 @@ package com.hippo.ehviewer.ui.tools import androidx.annotation.StringRes import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed @@ -202,12 +200,22 @@ class DialogState { vararg items: String, @StringRes title: Int, ): Int = showNoButton { - Column(modifier = Modifier.padding(24.dp)) { - Text(text = stringResource(id = title), style = MaterialTheme.typography.headlineSmall) - Spacer(modifier = Modifier.size(16.dp)) - CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.tertiary) { - items.forEachIndexed { index, text -> - Text(text = text, modifier = Modifier.clickable { dismissWith(index) }.fillMaxWidth().padding(vertical = 8.dp), style = MaterialTheme.typography.titleMedium) + Column(modifier = Modifier.padding(vertical = 8.dp)) { + Text( + text = stringResource(id = title), + modifier = Modifier.padding(horizontal = 24.dp, vertical = 8.dp), + style = MaterialTheme.typography.headlineSmall, + ) + LazyColumn { + itemsIndexed(items) { index, text -> + CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.tertiary) { + Text( + text = text, + modifier = Modifier.clickable { dismissWith(index) }.fillMaxWidth() + .padding(horizontal = 24.dp, vertical = 16.dp), + style = MaterialTheme.typography.titleMedium, + ) + } } } }