You need to enable JavaScript to run this app. Flutter中如何重写ExpansionPanel将其默认elevation设置为0
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何重写ExpansionPanel将其默认elevation设置为0

Flutter 移除ExpansionPanel阴影操作指南

ExpansionPanel的阴影不支持在单个组件上单独设置,需要通过父级ExpansionPanelList统一配置,两种适配方案如下:

方案1:直接配置属性(支持Flutter 2.10及以上版本)

给ExpansionPanelList同时设置收起、展开两种状态下的阴影高度为0即可:

ExpansionPanelList(
  // 面板收起时的阴影高度
  elevation: 0,
  // 面板展开时的阴影高度
  expandedElevation: 0,
  // 可选:如果需要隐藏面板间的分割线,追加下方配置
  dividerColor: Colors.transparent,
  // 其余原有配置保持不变
  expansionCallback: (index, isExpanded) {
    // 你的展开收起逻辑
  },
  children: yourPanelList,
)

方案2:Theme局部覆盖(支持所有Flutter版本)

低版本Flutter未开放ExpansionPanelList的elevation配置时,可以通过覆盖组件范围内的CardTheme实现效果:

Theme(
  data: Theme.of(context).copyWith(
    cardTheme: const CardTheme(
      elevation: 0,
      shadowColor: Colors.transparent,
    ),
  ),
  child: ExpansionPanelList(
    // 你的原有配置
  ),
)

你需要移除的默认阴影效果参考:
ExpansionPanel默认阴影示例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 03:15:05