android - Jetpack compose DropdownMenu 带有圆角

标签 android kotlin menu android-jetpack-compose

您好,我不知道如何在 jetpack compose 1.0.0-beta02 中制作切角菜单.我尝试用表面包装 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")
                }
            }
        },
    )

这给了我
No Cut corners
但是我需要这样的东西 , 它是四舍五入的。
menu with Material Theming

最佳答案

DropdownMenu 使用的默认形状由定义
medium shapes 中的属性用于MaterialTheme (检查你的主题)。

val Shapes = Shapes(
    small = RoundedCornerShape(4.dp),
    medium = RoundedCornerShape(4.dp),  //<- used by `DropdownMenu`
    large = RoundedCornerShape(0.dp)
)
您可以在主题中更改此值,也可以仅在 DropdownMenu 中覆盖中等形状。 .
就像是:
    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")
            }
        }
    }
enter image description here

关于android - Jetpack compose DropdownMenu 带有圆角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66781028/

相关文章:

html - 添加 Logo 时导航栏中的元素向上移动

java - 如何在Android Studio中创建入门芯片填充?

java - 如何从 CandleStick 获取值并添加到 LineChart -> MPANDROIDCHART

android - Dagger2 - FragmentSubcomponentBuilder 未实现 AndroidInjector.Factory

android - Kotlin 的合成属性冲突

jquery - 为菜单/导航栏制作滚动按钮

java - 在屏幕上非线性滑动

android - Android中两个进程如何共享相同的代码?

android - 通过列表中的两个参数查询 Realm

jQuery:如果选择了一个选项,则更改 css 值