繁体   English   中英

Jetpack compose:如何强制将下拉菜单锚定在其父级下方?

[英]Jetpack compose: how to force a dropdownmenu to be anchored underneath its parent?

我目前正在使用dropdownmenu来选择我的应用程序中的许多选项之一。 问题在于,一旦其中包含许多元素,下拉菜单就会在最初锚定的位置上方扩展(请参见附图)。 如何强制下拉菜单像第一张图片一样固定在按钮的底部? 谢谢!

我想要什么(仅适用于列表中的少数项目)

问题(当列表中有很多项目时发生)

编辑:这是相关代码:

Box(modifier = Modifier.fillMaxWidth()) { // box for dropdown menu
                Button(
                    modifier = Modifier.fillMaxWidth(),
                    onClick = { showCategories = true }
                ) {
                    Icon(Icons.Default.Favorite, null)
                    Text("${currentCategory.name}")
                    Icon(
                        painter = painterResource(id = R.drawable.ic_baseline_expand_more_24),
                        contentDescription = "expand more"
                    )
                }
                DropdownMenu(
                    expanded = showCategories,
                    onDismissRequest = {
                        showCategories = false
                    }
                ) {
                    categories.forEach {
                        DropdownMenuItem(
                            onClick = {
                                onCategoryChangeRequest(it)
                                showCategories = false
                            }
                        ) {
                            Text(it.name)
                        }
                    }
                }
            }

您可以为DropdownMenu分配最大尺寸。

DropdownMenu(
    modifier = Modifier.requiredSizeIn(maxHeight = 200.dp),
    ...
)

它对我有用...

在此处输入图像描述

我不确定,但请尝试使用DropdownMenu() 的 offset 参数

DropdownMenu(
    offset = DpOffset(x = (-66).dp, y = (-10).dp)
)

更改xy值。 他们接受正面和负面的价值观。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM