You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose是否内置底部上滑菜单(ADD MONEY TO EA DUMPLING式)设计功能?

Jetpack Compose 实现底部上滑菜单方案

Jetpack Compose 内置了ModalBottomSheetLayout组件,可以直接实现你需要的底部上滑菜单效果,完全适配图中带标题的样式需求。

基础实现示例

以下是匹配你需求的代码示例,包含标题、输入区域和操作按钮:

@Composable
fun AddMoneyBottomSheet() {
    val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
    val scope = rememberCoroutineScope()

    ModalBottomSheetLayout(
        sheetState = sheetState,
        sheetShape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
        sheetContent = {
            Column(
                modifier = Modifier
                    .fillMaxWidth()
                    .padding(horizontal = 16.dp, vertical = 20.dp)
            ) {
                // 菜单标题
                Text(
                    text = "ADD MONEY TO EA DUMPLING",
                    style = MaterialTheme.typography.titleMedium,
                    fontWeight = FontWeight.Bold,
                    modifier = Modifier.padding(bottom = 24.dp)
                )
                // 金额输入框
                OutlinedTextField(
                    value = "",
                    onValueChange = {},
                    label = { Text("Enter Amount") },
                    modifier = Modifier.fillMaxWidth(),
                    keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
                )
                // 确认按钮
                Button(
                    onClick = { scope.launch { sheetState.hide() } },
                    modifier = Modifier
                        .fillMaxWidth()
                        .padding(top = 24.dp),
                    colors = ButtonDefaults.buttonColors(containerColor = Color.Green)
                ) {
                    Text("ADD MONEY", color = Color.White)
                }
            }
        }
    ) {
        // 主界面触发按钮
        Column(
            modifier = Modifier.fillMaxSize(),
            verticalArrangement = Arrangement.Center,
            horizontalAlignment = Alignment.CenterHorizontally
        ) {
            Button(onClick = { scope.launch { sheetState.show() } }) {
                Text("Open Add Money Menu")
            }
        }
    }
}

自定义调整说明

  • 展开状态:通过skipPartiallyExpanded = true可以禁用半展开状态,让菜单直接全屏展开,匹配图中效果。
  • 样式定制:使用sheetShape设置顶部圆角,sheetBackgroundColor修改背景色,sheetElevation调整阴影深度,完全贴合设计需求。
  • 交互控制:通过sheetState可以监听菜单展开/收起状态,调用show()/hide()方法控制显示逻辑,支持协程异步操作。

内容的提问来源于stack exchange,提问作者nikhilbalwani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 08:27:38