简体   繁体   English

Jetpack compose DropdownMenu 带有圆角

[英]Jetpack compose DropdownMenu With rounded Corners

Hello I can't figure out how to make a cut corners menu in jetpack compose 1.0.0-beta02 .您好,我不知道如何在 jetpack compose 1.0.0-beta02中制作切角菜单。 I tried wrapping the while menu with a surface but It didn't work.我尝试用表面包装 while 菜单,但它没有用。

    TopAppBar(
        modifier = Modifier
            .statusBarsPadding(),
        title = {
            Text(text = "Title")
        },
        actions = {
            var menuExpanded by remember { mutableStateOf(false) }

            IconButton(onClick = { menuExpanded = true }) {
                Icon(Icons.Default.MoreVert, contentDescription = null)
            }

            DropdownMenu(
                expanded = menuExpanded,
                onDismissRequest = {
                    menuExpanded = false
                },
            ) {
                DropdownMenuItem(onClick = {}) {
                    Text("Item 2")
                }
            }
        },
    )

Which gives me这给了我

没有偷工减料

But I need something like this , which is rounded.但我需要这样的东西,它是四舍五入的。

带有材质主题的菜单

With 1.0.0 the default shape used by the DropdownMenu is defined by the medium attribute in the shapes used in the MaterialTheme (check your theme).对于1.0.0DropdownMenu使用的默认形状由MaterialTheme中使用的shapes中的medium属性定义(检查您的主题)。

val Shapes = Shapes(
    small = RoundedCornerShape(4.dp),
    medium = RoundedCornerShape(4.dp),  //<- used by `DropdownMenu`
    large = RoundedCornerShape(0.dp)
)

You can change this value in your theme or you can override the medium shape only in your DropdownMenu .您可以在主题中更改此值,也可以仅在DropdownMenu中覆盖中等形状。
Something like:就像是:

    MaterialTheme(shapes = MaterialTheme.shapes.copy(medium = RoundedCornerShape(16.dp))) {
        DropdownMenu(
            expanded = menuExpanded,
            onDismissRequest = {
                menuExpanded = false
            }                
        ) {
            DropdownMenuItem(onClick = {}) {
                Text("Item 2")
            }
            DropdownMenuItem(onClick = {}) {
                Text("Item 3")
            }
        }
    }

在此处输入图像描述

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

相关问题 带圆角的波纹 Jetpack Compose - Ripple with rounded corners Jetpack Compose 如何控制 Jetpack Compose 中的 DropDownMenu 位置 - How to control DropDownMenu position in Jetpack Compose Jetpack Compose:从 DropDownItems 到 DropDownMenu 提升点击状态 - Jetpack Compose : Hoisitng click state from DropDownItems to DropDownMenu Jetpack compose:如何强制将下拉菜单锚定在其父级下方? - Jetpack compose: how to force a dropdownmenu to be anchored underneath its parent? Jetpack Compose:在 DropDownMenu 中模仿 spinner.setSelection() - Jetpack Compose: Mimicking spinner.setSelection() inside of a DropDownMenu Jetpack Compose:IntrinsicMeasurements 不支持在 DropdownMenu 中使用 Accompanist CoilImage 加载 - Jetpack Compose: IntrinsicMeasurements not supported loading with Accompanist CoilImage in DropdownMenu 如何将列表转换为 Jetpack Compose 中 DropdownMenu 中的 DropdownMenuItems 列表 - How to turn a list into a list of DropdownMenuItems in a DropdownMenu in Jetpack Compose 如何使 Jetpack 撰写复选框四舍五入 - how to make Jetpack compose checkbox rounded 从暴露的 dropdownMenu 可组合、jetpack 组合中选择选项时,不会触发文本字段的 onValueChange - onValueChange of textfield is not triggered when selecting an option from exposed dropdownMenu composable, jetpack compose 如何使用 Jetpack Compose 创建圆角边框按钮 - How to create rounded border Button using Jetpack Compose
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM