В материальном дизайне используется концепция вторичного цвета текста: https://www.google.com/design/spec/style/color.html#color -text-background-colors.
Я могу получить доступ к этому цвету в флаттере, используя очень подробный: Theme.of(context).textTheme.caption.color
. Мне не нужны какие-либо дополнительные стили (вес, размер шрифта) из подписи или отображения [1-4]. Использование 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
должно иметь поле для этого.