Меня перенаправили с https://github.com/flutter/flutter/issues/28138 сюда.
Обычно моя проблема заключается в том, что я не думаю, что цвета текста FloatingActionButton backgroundColor и FlatButton наследуются от правильных значений, определенных в ThemeData.
- Создайте приложение, в котором вы будете использовать основной красныйцвет (панель приложения, кнопка bg, карточка), желтый для акцента (значки, заголовок панели приложения), черный для общего текста, белый / светло-серый для фона, например, корпуса лесов.
- Установите цвет AppBar BG на красный, используя тему(primaryColor)
- Установить цвет заголовка AppBar на желтый, используя theme (accentColor)
- Установить цвет значков, совпадающий с цветом accentColor, поскольку при использовании основного цвета они будут невидимы в AppBar
- Создайте плавающую кнопку ActionActionButton со значком.
- Значок в плавающей кнопке ActionButton не отображается, потому что backgroundColor для виджета использует желтый цвет ThemeData.accentColor вместо ThemeData.primaryColor
По умолчанию на переднем плане и на заднем плане используется accentColor.
/// The color to use when filling the button.
///
/// Defaults to **[ThemeData.accentColor**] for the current theme.
final Color backgroundColor;
Я основалАналогичная проблема с FlatButton в диалоге, по умолчанию цвет текста - это цвет акцента, который является желтым (на белом фоне), если я переопределяю его на основной, он красный, но я не хочу, чтобы он был красным, так какКнопка удаления рядом с ним красная.Поэтому мне нужно установить его в нормальное состояние, чтобы оно было черным, что правильно, но:
flat_button.dart: 127
textStyle: theme.textTheme.button.copyWith(color: buttonTheme.getTextColor(this)),
Моя тема:
buttonTheme: ButtonThemeData(
textTheme: ButtonTextTheme.normal,
buttonColor: primary, // Red
),
textTheme: TextTheme(
...
button: TextStyle(color: black), // Black
),
new FlatButton(
//textTheme: ButtonTextTheme.normal,
child: new Text("Ponechať"),
onPressed: () {
Navigator.of(context).pop();
onKeep();
},
)
В теории мой FlatButton во всплывающем диалоговом окне должен быть черным или красным.Но это желтый цвет акцента.
Воспроизвести попробуйте следующий пример: https://gist.github.com/erikkubica/45fc8acdce1f8a25cd5258e8b3a0e1f3