Я создал несколько приложений, поддерживающих несколько тем, но мне всегда приходилось перезапускать приложение, когда пользователь переключает тему, потому что setTheme() нужно вызывать до setContentView().
Я был в порядке, пока не нашел это приложение. Он может легко переключаться между двумя темами, а также с переходами/анимациями!

Пожалуйста, дайте мне несколько советов о том, как это было реализовано (и анимации тоже). Спасибо!