Comment puis-je changer la textColorPrimary dans un thème?

Je vais changer le thème d'une activité dans onCreate à l'aide de setTheme (je fais cela avant même d'appeler super.onCreate(), comme c'est censé être plus fiable).

Il fonctionne dans le sens qu'il change l'arrière-plan et les couleurs de premier plan. Cependant, ma mise en page a quelques éléments que l'utilisation des styles comme textAppearanceLarge. Maintenant Android textAppearanceLarge utilise en interne la textPrimaryColor - qui est toujours inchangé par mon thème.

J'ai essayé de remplacer la couleur de texte primaire dans mon thème, mais cela ne semble pas fonctionner.

Ici est la partie cruciale du thème:

<style name="Theme.MyApp.White">
   <item name="android:background">@android:color/white</item>
   <item name="android:textColor">#000000</item>
</style>

L'arrière-plan apparaît en blanc, plaine TextViews apparaissent en noir... mais TextViews à l'aide de textAppearanceLarge sont en blanc, et en tant que tel invisible (blanc sur blanc).

J'ai essayé des choses comme ceci:

   <item name="android:ColorPrimary">#000000</item>
   <item name="android:textColorPrimary">#000000</item>
   <item name="android:attr/textColorPrimary">#000000</item>

Mais aucun de ceux qui font n'importe quoi. Ce qui est un tour de magie?

OriginalL'auteur EboMike | 2010-06-28