Flutter:RichText不适用于主题

问题描述

我正在尝试以不同的颜色显示一些文本。我了解了RichText小部件,并按如下所述使用了它;

Future<List<TextSpan>> listOfEventsAtDay({String day,String monthNum}) async {
  final result = await DatabaseHelper.instance
      .queryForEventsAtDay(mnth: monthNum,dy: day);
  List<TextSpan> textSpans = [];
  int count = result.length;
  for (int i = 0; i < count; i++) {
    final String string = "-${result[i]['year']}: ${result[i]['title']}\n";
    textSpans.add(TextSpan(
        text: string,));
  }

  return textSpans;
}

随后被调用;

ListTile( title: RichText(text: TextSpan(children: snapshot.data),

我现在不想要任何复杂的样式。在深色模式下,文本应为白色,在浅色模式下,文本应为黑色。就这样。但问题是,文本始终为白色。为什么它不随亮度设置调整?有什么办法可以做到这一点?请帮助我...

解决方法

经过学习,我可以回答我的问题。

Future<List<TextSpan>> listOfEventsAtDay({String day,String monthNum,BuildContext context}) async {
  final result = await DatabaseHelper.instance
      .queryForEventsAtDay(mnth: monthNum,dy: day);
  List<TextSpan> textSpans = [];
  int count = result.length;
  for (int i = 0; i < count; i++) {
    final String string = "-${result[i]['year']}: ${result[i]['title']}\n";
    textSpans.add(TextSpan(
        text: string,style: DefaultTextStyle.of(context).style,));
  }

此问题已解决。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...