Flutter: Лучший способ раскрасить текст вторичным цветом текущей темы?

Созданный на 11 мая 2016  ·  3Комментарии  ·  Источник: flutter/flutter

В материальном дизайне используется концепция вторичного цвета текста: 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)
api docs material design framework

Самый полезный комментарий

@Hixie Похоже, ThemeData должно иметь поле для этого.

Все 3 Комментарий

@Hixie Похоже, ThemeData должно иметь поле для этого.

Согласованный.

Второстепенный цвет – это цвет акцента. В ThemeData есть поле для цвета акцента; мы должны указать на него из документов TextStyle или чего-то подобного.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги