Фон
Я разрабатываю функцию выбора тем в моем приложении app manager, и мне это удалось динамически настраивая тему для каждого из действий.
СНОВА: речь идет не о настройке темы для действий. Это действительно отлично работает для меня.
Проблема
Признаки показывают правильную тему, но само приложение при запуске приложения показывает неправильное, независимо от того, что я делаю.
Это проблема, потому что, когда пользователь открывает приложение, он увидит фон темы приложения, и только через несколько секунд активность будет показана с темой, которую выбрал пользователь.
Итак, если приложение имеет белый фон, а пользователь выбрал тему с черным фоном, порядок будет следующим:
Приложение показывает белый фон → активность начинается и отображается черный фон.
В скриншотах:
Так что это неправильно. В этом случае мне нужно, чтобы он отображал черный-черный фон.
Только если пользователь выбрал тему на основе голосовой подсветки (по умолчанию это приложение), она отлично работает, так как цвет соответствует значению активности, показанного справа при открытии приложения.
Что я пробовал
У меня возникла идея настроить тему приложения на пустое место, надеясь, что никакой переход не будет показан, используя что-то вроде:
<application
...
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
Фактически, некоторые люди предложили аналогичное решение.
Это работает, но это приводит к плохому опыту, поскольку на некоторых устройствах требуется некоторое время, пока не будет показано первое действие, и, как таковое, существует значительное количество времени, которое пользователь вообще ничего не видит, как если бы приложение не запускается.
Вопрос
Как это решить?
Я уже пробовал задавать тему в классе, который простирается от приложения, но он ничего не делает, независимо от того, где в этом классе я его называю.