Materialdesign hat ein Konzept einer sekundären Textfarbe: https://www.google.com/design/spec/style/color.html#color -text-background-colors
Ich kann auf diese Farbe im Flattern zugreifen, indem ich sehr ausführlich bin: Theme.of(context).textTheme.caption.color
. Ich möchte kein zusätzliches Styling (Gewicht, Schriftgröße) von caption oder display[1-4]. Die direkte Verwendung Colors.black54
ist nicht ideal, da es sich nicht an Theme-Änderungen anpassen würde. Gibt es einen weniger ausführlichen Weg, um die sekundäre Textfarbe des aktuellen Designs zu erhalten? Derzeit habe ich eine Funktion auf Paketebene erstellt, aber es scheint, als ob es einen besseren Weg geben sollte:
Color secondary(BuildContext context) =>
Theme.of(context).textTheme.caption.color;
Dies erlaubt mir zu sagen
new TextStyle(color: secondary(context))
anstatt
new TextStyle(color: Theme.of(context).textTheme.caption.color)
@Hixie Klingt so, als ob ThemeData
dafür ein Feld haben sollte.
Einverstanden.
Die Sekundärfarbe ist die Akzentfarbe. Es gibt ein Feld auf ThemeData für die Akzentfarbe; wir sollten aus den TextStyle-Dokumenten oder so etwas darauf verweisen.
Hilfreichster Kommentar
@Hixie Klingt so, als ob
ThemeData
dafür ein Feld haben sollte.