From 9f19f1c7659a550bc0b155a527a1e42001f35405 Mon Sep 17 00:00:00 2001 From: HuanCheng65 <22636177+HuanCheng65@users.noreply.github.com> Date: Fri, 21 Jul 2023 19:03:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=8F=9C=E5=8D=95=E9=A1=B9=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E5=90=8E=E8=87=AA=E5=8A=A8=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tieba/post/ui/page/thread/ThreadPage.kt | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/huanchengfly/tieba/post/ui/page/thread/ThreadPage.kt b/app/src/main/java/com/huanchengfly/tieba/post/ui/page/thread/ThreadPage.kt index 487b993e..590ff3a4 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/ui/page/thread/ThreadPage.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/ui/page/thread/ThreadPage.kt @@ -140,6 +140,7 @@ import com.huanchengfly.tieba.post.ui.widgets.compose.VerticalDivider import com.huanchengfly.tieba.post.ui.widgets.compose.VerticalGrid import com.huanchengfly.tieba.post.ui.widgets.compose.buildChipInlineContent import com.huanchengfly.tieba.post.ui.widgets.compose.rememberDialogState +import com.huanchengfly.tieba.post.ui.widgets.compose.rememberMenuState import com.huanchengfly.tieba.post.ui.widgets.compose.states.StateScreen import com.huanchengfly.tieba.post.utils.DateTimeUtils.getRelativeTimeString import com.huanchengfly.tieba.post.utils.HistoryUtil @@ -1384,22 +1385,38 @@ fun PostCard( val subPosts = remember(postHolder) { post.sub_post_list?.sub_post_list?.toImmutableList() ?: persistentListOf() } + val menuState = rememberMenuState() LongClickMenu( indication = null, onClick = { onReplyClick(post) }, menuContent = { - DropdownMenuItem(onClick = { onReplyClick(post) }) { + DropdownMenuItem( + onClick = { + onReplyClick(post) + menuState.expanded = false + } + ) { Text(text = stringResource(id = R.string.btn_reply)) } if (onMenuCopyClick != null) { - DropdownMenuItem(onClick = { onMenuCopyClick(post) }) { + DropdownMenuItem( + onClick = { + onMenuCopyClick(post) + menuState.expanded = false + } + ) { Text(text = stringResource(id = R.string.menu_copy)) } } if (onMenuFavoriteClick != null) { - DropdownMenuItem(onClick = { onMenuFavoriteClick(post) }) { + DropdownMenuItem( + onClick = { + onMenuFavoriteClick(post) + menuState.expanded = false + } + ) { if (isCollected(post)) { Text(text = stringResource(id = R.string.title_collect_on)) } else { @@ -1408,12 +1425,22 @@ fun PostCard( } } if (onMenuReportClick != null) { - DropdownMenuItem(onClick = { onMenuReportClick(post) }) { + DropdownMenuItem( + onClick = { + onMenuReportClick(post) + menuState.expanded = false + } + ) { Text(text = stringResource(id = R.string.title_report)) } } if (canDelete(post) && onMenuDeleteClick != null) { - DropdownMenuItem(onClick = { onMenuDeleteClick(post) }) { + DropdownMenuItem( + onClick = { + onMenuDeleteClick(post) + menuState.expanded = false + } + ) { Text(text = stringResource(id = R.string.title_delete)) } }