Есть ли способ изменить цвет экрана spla sh в зависимости от темы приложения? - PullRequest
0 голосов
/ 21 февраля 2020

Можно ли программным образом изменить собственный цвет экрана android spla sh, чтобы его можно было установить в соответствии с темой, выбранной для приложения Flutter?

Вроде как экран WhatsApp spla sh загружается в темной теме, когда системная тема установлена ​​на темную.

Темный и светлый экран WhatsApp spla sh:

Dark and light WhatsApp splash screen

Я предполагаю, что для экрана spla sh используются две темы, которые связаны с Системная тема, но я не знаю так много о том, как и если это возможно.

Так что вопрос: можно ли изменить цвет / тему экрана spla sh при запуске приложения флаттера? , чтобы при следующем запуске приложения собственный экран android spla sh загружался в той же теме, что и приложение Flutter?

(Извините, если много раз повторялся, но хочу описать что я спрашиваю как можно лучше)

Ответы [ 2 ]

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

Если вы установили экран spla sh из файлов Android папки xml, то, я думаю, вы не сможете избежать написания некоторого родного кода и размещения некоторых из своих темных логи c в Android вложенная папка. С другой стороны, если логика тем c и заставка находятся в файле main.dart. Затем вы можете просто сохранить два разных заставки , которые вы хотите использовать, и добавить оператор if-else , чтобы отобразить экран spla sh, а также сохранить предпочтения пользовательских тем. Если вы не знаете, как это сделать, вы можете подписаться на эту тему: Как загрузить тему в начале флаттера

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

Вы можете использовать своего рода SharedPreferences для хранения текущего состояния Темы. Затем верните желаемую тему в MaterialApp на основе значения, сохраненного в вашем Shared Preferences. Я лично использую пакет HydratedBloc, чтобы сохранить текущие состояния моего приложения, включая тему.

...