マテリアルデザインには、セカンダリテキストカラーの概念があります: https ://www.google.com/design/spec/style/color.html#color -text-background-colors
Theme.of(context).textTheme.caption.color
という非常に冗長な色を使用して、この色にフラッターでアクセスできます。 キャプションまたはディスプレイ[1-4]からの余分なスタイリング(重み、fontSize)は必要ありません。 Colors.black54
を直接使用すると、テーマの変更に適応しないため、理想的ではありません。 現在のテーマのセカンダリテキストの色を取得するためのより冗長な方法はありますか? 現在、パッケージレベルの関数を作成しましたが、もっと良い方法があるはずだと感じています。
Color secondary(BuildContext context) =>
Theme.of(context).textTheme.caption.color;
これは私が言うことを可能にします
new TextStyle(color: secondary(context))
それ以外の
new TextStyle(color: Theme.of(context).textTheme.caption.color)
@Hixie ThemeData
のように聞こえますが、このためのフィールドが必要です。
同意しました。
二次色はアクセントカラーです。 ThemeDataにはアクセントカラーのフィールドがあります。 TextStyleのドキュメントなどからそれを指摘する必要があります。
最も参考になるコメント
@Hixie
ThemeData
のように聞こえますが、このためのフィールドが必要です。