Как установить несколько цветов в флаттере данных темы?
Вот мой код:
static final darkTheme = ThemeData(
textTheme: GoogleFonts.rubikTextTheme()
.apply(bodyColor: Color(0xFFf2f2f2), displayColor: Color(0xFFf2f2f2))
.copyWith(bodyText1: TextStyle(color: Colors.greenAccent)),
scaffoldBackgroundColor: Color(0xFF1f1f1f),
primaryColor: Color(0xFF474747),
colorScheme: ColorScheme.dark(
primaryContainer: Color(0xFF282828),
secondaryContainer: Color(0xFF3D3D3D)),
iconTheme: IconThemeData(color: Color(0xFFf2f2f2)),
primaryIconTheme: IconThemeData(color: Color(0xFFf2f2f2)),
hintColor: Color(0xFFf2f2f2),
backgroundColor: Color(0xFFd9d9d9),
dividerColor: Color(0xFFf2f2f2));
Я хочу установить несколько цветов в textTheme, но как мне узнать, какое свойство TextStyle мне следует использовать? в этом случае у меня есть текст с надписью «открыть», и я хочу, чтобы он был зеленым с акцентом в темном режиме и зеленым в светлом режиме, и здесь я использую bodyText1, но зеленый цвет применяется к другому тексту, а не к тексту «Открыть».
я должен попробовать каждое свойство от displayLarge до надчеркивания, чтобы найти свойство, окрашенное в текст. И я не уверен, правильно ли я использую .copyWith или нет. даже если мне удастся найти его с помощью этого метода, я думаю, что это неправильно. я использую .apply для окрашивания большей части текста в белый цвет
2 ответа
Вместо использования текстового виджета используйте виджет RichText. Это может сделать вашу жизнь действительно легкой. Просто найдите RichText.