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

Flutter 2.5.2版本中ThemeData设置primaryColor十六进制颜色不生效怎么办

问题原因
  • Flutter 2.5.2版本中,ThemeData的colorScheme属性优先级高于单独配置的primaryColor,ThemeData.dark()自带默认的colorScheme配置,你仅覆盖primaryColor的话,大部分组件会优先读取colorScheme中的主色配置,所以设置不会生效。
  • 你使用的十六进制颜色格式Color(0xFFCF3D10)是正确的,不存在格式错误。
修复代码
import 'package:flutter/material.dart';
import 'input_page.dart';

void main() => runApp(BMICalculator());

class BMICalculator extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(
        // 覆盖colorScheme的primary属性使自定义主色生效
        colorScheme: ThemeData.dark().colorScheme.copyWith(
          primary: const Color(0xFFCF3D10),
        ),
        // 如需统一修改AppBar背景色可以额外配置appBarTheme
        appBarTheme: const AppBarTheme(
          backgroundColor: Color(0xFFCF3D10),
        ),
        // 如需修改页面默认背景色可以添加scaffoldBackgroundColor配置
        // scaffoldBackgroundColor: Color(0xFFxxxxxx),
      ),
      home: InputPage(),
    );
  }
}
补充说明

如果需要适配按钮、选中态等其他场景的主色,可以在colorScheme中对应配置secondary、tertiary等属性即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:48:06