Создать две разные темы в XML. Вы даже можете создать два разных XML-файла.
Как RedTheme.xml и GreenTheme.xml. При создании стиля не забудьте установить родителя как «AppTheme».
<resources>
<style name="RedTheme" parent="AppTheme">
<item name="colorPrimary">@color/colorRed</item>
<item name="colorPrimaryDark">@color/colorGreen</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="toolbarNavigationButtonStyle">@style/Toolbar.Button.Navigation.REd</item>
</style>
Теперь при вызове метода setTheme () для setOnCheckedChangeListener, нативный метод для изменения темы во время выполнения.
if(isChecked)
{
setTheme(R.style.RedTheme);
}
else{
setTheme(R.style.GreenTheme);
}
Внимание! Создайте этот метод в своей основной деятельности. Как только вы примените тему, вам придется заново создать свою деятельность, чтобы отразить изменения.