簡體   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