android - 您可以在 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))
}
}
}
)
}
解决方案
弄清楚了。交互式预览是一项实验性功能,因此您必须先在 Android Studio 设置中启用它。
File -> Settings -> Experimental
然后选中 旁边的框Enable interactive and animation preview tools
。
之后,交互式预览按钮将出现在组件预览的上方。
推荐阅读
- c - 如何递归调用具有 void 函数作为 C 中的参数的函数?
- php - 使用 PHP 对用户进行身份验证而不要求提供凭据
- asp.net-mvc-4 - 如何使用三元运算符检查将输入字段的值绑定到控件
- python - 是否可以使用 python 从外汇中读取真实的实时(能源和金属)数据
- ios - iOS:在 App Store Connect 中更新营销 URL,而不上传新版本
- javascript - 通过 ajax 进行数据标记白名单
- windows-store-apps - 用于安装光标包的 Windows 应用商店应用
- blockchain - 区块链和游戏内货币(链下)
- c++ - 在 MPI C++ 中传递大型二维数组
- go - 我想为挖掘创建接口