Android: Cómo cambiar los atributos del tema dinámicamente en tiempo de ejecución de código

Estoy utilizando AppCompat, mi aplicación tiene temas de color dinámico. Quiero ser capaz de cambiar los primaryColor y accentColor para que los elementos de interfaz de usuario coincidan con los colores del tema (por ejemplo, barras de progreso, casillas de verificación, etc.).

Puedo configurar manualmente los colores para muchas vistas, pero eso se complica para los elementos como las casillas de verificación y las barras de progreso donde no quiero generar mi propio dibujable. Obviamente, el uso de XML estático no funciona para esto tampoco.

¿Es posible cambiar los atributos del tema de una actividad desde el código?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.