1. ホーム
  2. text

[解決済み] Flutterでテーマ全体の文字色を変更するには?

2023-03-07 08:07:58

質問

何か明らかな見落としがあるのではないでしょうか。そこで 1 プロパティはありますか?

今やっている方法は、MaterialAppの中で

theme: ThemeData(
    textTheme: Theme.of(context).textTheme.copyWith(
          body1:
              Theme.of(context).textTheme.body1.apply(color: Colors.pink),
          body2:
              Theme.of(context).textTheme.body2.apply(color: Colors.pink),
          display1:
              Theme.of(context).textTheme.display1.apply(color: Colors.pink),
          display2:
              Theme.of(context).textTheme.display2.apply(color: Colors.pink),
          ... // and so on
        ),
    ),
),

また

textTheme: Theme.of(context).textTheme.apply(bodyColor: Colors.pink),

となっていますが、これはDropdownのテキストに適用されるもので、通常のテキストには適用されません。同様に displayColor は、appBarテキストとInputDecorationテキストに適用されますが、通常のテキストには適用されません。私は、どのような decorationText がないようなので、これは何のためなのかわかりません。

私は textSelectionColor プロパティがありますが、これは TextField ウィジェットにのみ適用されます。

どのように解決するのですか?

私が思うに TextTheme.apply はあなたが望むものです。 bodyColor が適用されるのは headline , title , subhead , button , body1 そして body2 . displayColor が適用されるのは display1 を通して display4 で、そして caption . の両方を指定した場合 bodyColordisplayColor と同じ色の値を使用することで、すべてのテキストスタイルで効果的にテキストの色を変更することができます。

final newTextTheme = Theme.of(context).textTheme.apply(
  bodyColor: Colors.pink,
  displayColor: Colors.pink,
);