【发布时间】:2022-11-10 00:22:44
【问题描述】:
之前,我在这里发帖,我用谷歌搜索了很多。我从以下 SO 帖子中找到了以下内容:MaterialTheme(shapes = MaterialTheme.shapes.copy(medium = RoundedCornerShape(16.dp))){}:Jetpack compose DropdownMenu With rounded Corners
编辑:我正在使用材料设计 v3。
MaterialTheme(shapes = MaterialTheme.shapes.copy(medium = RoundedCornerShape(16.dp))) {
IconButton(
onClick = { showMenu = !showMenu }) {
Icon(imageVector = Icons.Outlined.MoreVert, contentDescription = "")
DropdownMenu(
expanded = showMenu,
onDismissRequest = { showMenu = false },
modifier = Modifier.background(MaterialTheme.colorScheme.background).padding(4.dp)
) {
DropdownMenuItem(text = { Text("Refresh", fontSize = 16.sp) }, onClick = { showMenu = false })
DropdownMenuItem(text = { Text("Settings", fontSize = 16.sp) }, onClick = { showMenu = false })
Divider(color = Color.LightGray, thickness = 1.dp)
DropdownMenuItem(text = { Text("Send Feedback", fontSize = 16.sp) }, onClick = { showMenu = false })
}
}
}
目前它产生以下输出:
当然有一些边界半径,它没有达到预期的目标。第三方应用程序的第二个屏幕截图确实具有我想要获得的边界半径。
【问题讨论】:
-
请注意,compose.material3 库中的
DropdownMenu使用extraSmall形状而不是medium -
@GabrieleMariotti,是的,我在某处读过这个。但是,这不能修改吗?
标签: android android-jetpack-compose android-jetpack-compose-material3