Тема флаттера - PullRequest
       8

Тема флаттера

0 голосов
/ 11 февраля 2020

Я создаю флаттер-приложение, используя тему. О кнопке, в чем разница между ButttonThemeData.buttonColor и ButtonThemeData.colorScheme.primary ?

1 Ответ

2 голосов
/ 11 февраля 2020

При создании объекта ThemeData, если buttonTheme не указан, он будет построен из других свойств, таких как buttonColor. Если buttonColor не указано, это будет оттенок primarySwatch. Если primarySwatch не указано, оно будет Colors.blue.

Аналогично, если colorScheme не указано, оно будет построено из других свойств, таких как primarySwatch, в этом случае colorScheme.primary получает значение primarySwatch, которое по умолчанию равно Colors.blue.

Что касается того, как платформа использует их для виджетов:

  • buttonColor фактически нигде не используется .
  • buttonTheme.buttonColor используется для RaisedButton, FlatButton, OutlineButton*, 1027 *
  • colorScheme.primary используется для слайдеров, переключателей, снэк-баров, а также нескольких виджетов Купертино.

Есть несколько других свойств ThemeData, которые должны были стать избыточными с введением colorScheme объектов, но они не устарели и поэтому весьма запутаны.

...