Widget _buildCustomTheme(BuildContext context) { /// 开启多主题 TDTheme.needMultiTheme(true); /// 此处替换主题 return TDTheme( // 替换fonts和colors,其他主题从父类拷贝 data: TDTheme.of(context).copyWithTDThemeData('custom', fontMap: { 'fontBodyLarge': Font(size: 40, lineHeight: 80), }, colorMap: { 'brandNormalColor': Colors.red }), // 不能直接在此处使用contxt,这里虽然被包裹在TGTheme中,但是context未更新,因此阿不到最新数据 child: const TestWidget()); // /// 测试控件 // class TestWidget extends StatelessWidget { // const TestWidget({Key? key}) : super(key: key); // // @override // Widget build(BuildContext context) { // return Container( // alignment: Alignment.center, // child: Column( // mainAxisSize: MainAxisSize.min, // children: [ // TDText( // '使用内层赋值主题', // font: TDTheme.of(context).fontBodyLarge, //明确使用内层主题,必须传context // textColor: // TDTheme.of(context).brandNormalColor, // 明确使用内层主题,必须传context // ), // TDText( // '使用内层不赋值主题', // font: TDTheme.of(context).fontTitleExtraLarge, //明确使用内层主题,必须传context // textColor: // TDTheme.of(context).successNormalColor, // 明确使用内层主题,必须传context // ), // TDText( // '使用默认主题', // font: TDTheme.defaultData().fontBodyLarge, //不传context,使用默认主题,此处是外层的主题 // textColor: TDTheme.defaultData().brandNormalColor, // ), // ], // ), // ); // } // } }