Вы должны использовать темы и стили для изменения значений цвета. См .: Стили и темы
По сути, вы должны объявить цвет в стилях. xml:
<style name="GreenText" parent="TextAppearance.AppCompat">
<item name="android:textColor">#00FF00</item>
</style>
<style name="RedText" parent="TextAppearance.AppCompat">
<item name="android:textColor">#ff0000</item>
</style>
Затем объявите, какую тему использовать в onCreate (перед setContentView ()):
switch (theme) {
case 1:
setTheme(R.style.Green);
break;
case 2:
setTheme(R.style.Red);
break;
}
Редактировать : Вы можете изменить тему только во время onCreate () - если вы хотите изменить ее впоследствии, во время выполнения вам придется воссоздать активность по телефону recreate()