Tema día / noche para la aplicación de Android

Tengo una aplicación en la que necesito implementar el tema día / noche. Desafortunadamente, no hay una forma sencilla de hacer temática utilizando solo estilos, necesito poder actualizar: fondos de diseño, selectores de botones, color de texto, tamaño de texto, imágenes, iconos, animaciones.

Por lo que veo tengo 2 opciones:

Tener diferentes archivos de diseño XML para la noche / día, así que algo comohome_day.xml / home_night.xml. Hay alrededor de 30 pantallas en la aplicación, por lo que al final habrá 60 diseños xml. En actividad / fragmento onCreate, en función de la hora actual que pudesetContentView. Esto agrega más archivos xml, pero evita agregar más código en las actividades

Tenga solo un diseño para día / noche y en actividadesonCreate findviewById para cada elemento que desee tematizar y actualizar sus atributos según el día / noche actual. Esto podría generar una gran cantidad de código adicional, buscar vistas y aplicar atributos para muchas vistas.

Estoy apuntando para 2. pero estoy abierto a cualquier sugerencia de usted. Entonces, ¿qué elegirías y por qué?

Respuestas a la pregunta(4)

Su respuesta a la pregunta