首页 > 解决方案 > 您可以在 Jetpack Compose 预览版中展开 DropdownMenu 吗?

问题描述

我有以下可组合的函数,它创建一个TopAppBar. 预览显示栏很好,但我可以让菜单在预览中展开吗?

@Composable
@Preview
fun AppBarTop(refreshOnClickHandler: (() -> Unit)? = null) {
    var showMenu by remember { mutableStateOf(false) }

    TopAppBar(
        elevation = 10.dp,
        title = {
            Text(stringResource(R.string.app_name))
        },
        actions = {
            IconButton(onClick = { /* //TODO Make this */ }) {
                Icon(
                    Icons.Filled.Search,
                    contentDescription = stringResource(R.string.content_desc_search_icon)
                )
            }
            IconButton(onClick = { showMenu = !showMenu }) {
                Icon(
                    Icons.Filled.MoreVert,
                    contentDescription = stringResource(R.string.content_desc_menu_icon)
                )
            }
            DropdownMenu(
                expanded = showMenu,
                onDismissRequest = { showMenu = false }
            ) {
                DropdownMenuItem(onClick = { /*TODO*/ }) {
                    Text(stringResource(R.string.action_refresh))
                }
                DropdownMenuItem(onClick = { /*TODO*/ }) {
                    Text(stringResource(R.string.action_settings))
                }
            }
        }
    )
}

标签: androidandroid-jetpack-composeandroid-jetpack-compose-preview

解决方案


弄清楚了。交互式预览是一项实验性功能,因此您必须先在 Android Studio 设置中启用它。

File -> Settings -> Experimental然后选中 旁边的框Enable interactive and animation preview tools

之后,交互式预览按钮将出现在组件预览的上方。


推荐阅读