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

MediumTopAppBar容器颜色未包裹标题,fillMaxHeight无法调整容器高度

MediumTopAppBar容器颜色未包裹标题的解决方案

问题原因

MediumTopAppBar默认设计为配合滚动行为使用,未配置scrollBehavior时,标题区域背景会继承主题的surface颜色,而非设置的containerColor,导致容器颜色无法覆盖标题区域。

解决方法

方法一:配置滚动行为(推荐,符合Material Design规范)

添加scrollBehavior让TopAppBar处于展开状态,此时containerColor会覆盖整个标题区域:

val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior()

Scaffold(
    topBar = {
        MediumTopAppBar(
            colors = TopAppBarDefaults.mediumTopAppBarColors(
                containerColor = Color.Yellow
            ),
            title = { Text(text = "Expense") },
            scrollBehavior = scrollBehavior
        )
    },
    content = { innerPadding ->
        Column(modifier = Modifier.padding(innerPadding)) {
            // 添加足够内容触发滚动,或保持展开状态
            repeat(20) {
                Text(text = "Expenses item $it")
            }
        }
    }
)

方法二:直接覆盖整个TopAppBar背景

如果不需要滚动行为,可将默认容器设为透明,再给TopAppBar添加背景修饰符:

Scaffold(
    topBar = {
        MediumTopAppBar(
            colors = TopAppBarDefaults.mediumTopAppBarColors(
                containerColor = Color.Transparent
            ),
            modifier = Modifier.background(Color.Yellow),
            title = { Text(text = "Expense") }
        )
    },
    content = { innerPadding ->
        Column(modifier = Modifier.padding(innerPadding)) {
            Text(text = "Expenses")
        }
    }
)

方法三:单独给标题设置背景

仅给标题区域添加与容器颜色一致的背景:

Scaffold(
    topBar = {
        MediumTopAppBar(
            colors = TopAppBarDefaults.mediumTopAppBarColors(
                containerColor = Color.Yellow
            ),
            title = { 
                Text(
                    text = "Expense",
                    modifier = Modifier.background(Color.Yellow).fillMaxWidth()
                ) 
            }
        )
    },
    content = { innerPadding ->
        Column(modifier = Modifier.padding(innerPadding)) {
            Text(text = "Expenses")
        }
    }
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 12:33:37