I understand your approach NJDude and it is essential, but only after switching the theme, IMO. While you can manually change foreground and background colors of almost all views, there is some stuff that can be modified only by setting the theme. For example - the popup that is displayed during ProgressDialogShow, Msgbox, the color of PreferenceActivity etc... So to complete the switching experience, the theme needs to be set like those native Java apps.