Как сделать Splash Screen с динамичным цветом

Рейтинг: 0Ответов: 1Опубликовано: 25.04.2023

Я сделал сплэш скрин через стиль но также сделал разметку и конечно для нее активити но проблема в том что она не показывается при запуске показывается стандартное окно запуска и единственный вариант повлиять на нее это добавить в стиль windowBackground drawable с другим цветом мне же надо отображать разметку да бы получать цвет из сохраненный в памяти и его изменять на него, поделитесь пожалуйста как это решается щас

Ответы

▲ 1

Splash Screen - эфемерное понятие и в чистом виде не существует. Его следует воспринимать как 2 никак не связанные меж собой сущности:

  1. При старте приложения идёт его инициализация. В процессе инициализации вы не можете ничего рисовать на экране и девайс показывает просто пустой белый (обычно) экран. На этом этапе вы почти ничего не можете сделать кроме того, чтобы через стиль приложения указать цвет фона и, с определённой версии ОС ещё и иконку (в т.ч. анимированную) можно показать.
  2. Приложение полностью загруженное может делать что угодно. Тут можно показать какой-то отдельный экран, который вы для удобства можете назвать SplashScreen-ом. На нём вы можете делать что угодно, т.к. это полностью ваш код и он полностью работает. Можете сетевые запросы слать, анимации крутить, хоть видео показывать. Но SplashScreen-ом он будет являться только потому, что вы его так назвали.

Вывод - используйте подмену стиля (вручную или гугло-либой) изначально и потом, если надо, встраивайте в логику своего приложения экран (фрамент/активити/whatever) для показа того, что можно назвать SplashScreen-ом.