Как сделать так, чтобы мое приложение не меняло темы во время игры - PullRequest
1 голос
/ 05 августа 2020

Я делаю простую математическую игру для Android, и она включает / выключает темный режим в зависимости от настроек системы; Я использовал Theme.MaterialComponents.DayNight.NoActionBar в качестве родителя моей темы. Однако я не хочу, чтобы игра внезапно меняла темы в игре, потому что это будет раздражать пользователя, а перерисовка экрана вызовет дрожание (и, возможно, ошибки).

Я хочу чтобы приложение не меняло темы, пока игра не закончится, и я просто вызову fun syncTheme() или что-то еще, чтобы синхронизировать c тему с системными настройками в другом действии.

1 Ответ

1 голос
/ 05 августа 2020

Вы можете добавить android:configChanges="uiMode" к элементу <activity> вашей игры в вашем AndroidManifest.xml. Это предотвратит получение вами событий изменения конфигурации , заявив, что вы будете обрабатывать изменения режима пользовательского интерфейса (который включает ночной режим и режимы автомобиля / рабочего стола ) вручную.

...