Не меняется цвет в шапке мобильного приложения, созданного на Flutter
Всем привет. Сейчас учусь делать приложения на Flutter и столкнулся с такой проблемой: у меня не изменяется цвет на шапке. Изначально я поставил оранжевый (deepOrangeAccesnt), но у меня все равно отображается голубой (в браузере Chrome). В чем может быть причина?
Код файла main:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(primaryColor: Colors.deepOrangeAccent),
home: Scaffold(
appBar: AppBar(title: Text('Title'),),
body: Center(
child: Text('Text is here...', style: TextStyle(
fontSize: 20,
color: Colors.lime,
fontFamily: 'Times New Roman'
),)
),
floatingActionButton: FloatingActionButton(
onPressed: () {
},
child: Text('Press me'),
),
),
);
}
}
Ответы (1 шт):
Самая простая альтернатива - использовать colorSchemeSeed:
ThemeData(colorSchemeSeed: Colors.deepOrangeAccent)
Почему так?
Если вы запустите приложение на android, вы заметите, что, например, у AppBar цвет синий, а у StatusBar (там где иконки, Wi-Fi, батарея) - темно-синий.
Получается, чтобы задать "основной цвет" всему приложению, нужно задать не просто 1 цвет, но и его оттенки для разных мест приложения, где он должен быть светлее/темнее.
Для упрощения работы, во Flutter есть colorSchemeSeed. Принцип его работы такой, что вы задаете цвет, а Flutter заполняет остальные оттенки сам, засветляя/затемняя цвет из colorSchemeSeed.
Но если все же хотите задать все оттенки вручную, используйте primarySwatch.
