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 d2dec6e4d..344968020 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 @@ -163,20 +163,20 @@ class DialogState { vararg items: Pair, title: String, ): Int = showNoButton { - Column { - Text(text = title, modifier = Modifier.padding(horizontal = 16.dp).padding(top = 16.dp), style = MaterialTheme.typography.titleMedium) - LazyColumn { - itemsIndexed(items) { index, (icon, text) -> - ListItem( - headlineContent = { - Text(text = stringResource(id = text), style = MaterialTheme.typography.titleMedium) - }, - modifier = Modifier.clickable { dismissWith(index) }, - leadingContent = { - Icon(imageVector = icon, contentDescription = null, tint = AlertDialogDefaults.iconContentColor) - }, - ) - } + LazyColumn { + stickyHeader { + Text(text = title, modifier = Modifier.padding(horizontal = 16.dp).padding(top = 16.dp), style = MaterialTheme.typography.titleMedium) + } + itemsIndexed(items) { index, (icon, text) -> + ListItem( + headlineContent = { + Text(text = stringResource(id = text), style = MaterialTheme.typography.titleMedium) + }, + modifier = Modifier.clickable { dismissWith(index) }, + leadingContent = { + Icon(imageVector = icon, contentDescription = null, tint = AlertDialogDefaults.iconContentColor) + }, + ) } } } @@ -185,20 +185,20 @@ class DialogState { vararg items: Pair, @StringRes title: Int, ): Int = showNoButton { - Column { - Text(text = stringResource(id = title), modifier = Modifier.padding(horizontal = 16.dp).padding(top = 16.dp), style = MaterialTheme.typography.titleMedium) - LazyColumn { - itemsIndexed(items) { index, (icon, text) -> - ListItem( - headlineContent = { - Text(text = text, style = MaterialTheme.typography.titleMedium) - }, - modifier = Modifier.clickable { dismissWith(index) }, - leadingContent = { - Icon(imageVector = icon, contentDescription = null, tint = AlertDialogDefaults.iconContentColor) - }, - ) - } + LazyColumn { + stickyHeader { + Text(text = stringResource(id = title), modifier = Modifier.padding(horizontal = 16.dp).padding(top = 16.dp), style = MaterialTheme.typography.titleMedium) + } + itemsIndexed(items) { index, (icon, text) -> + ListItem( + headlineContent = { + Text(text = text, style = MaterialTheme.typography.titleMedium) + }, + modifier = Modifier.clickable { dismissWith(index) }, + leadingContent = { + Icon(imageVector = icon, contentDescription = null, tint = AlertDialogDefaults.iconContentColor) + }, + ) } } }