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
Vous devez vous connecter pour publier un commentaire.
Comme une solution de contournement, au Lieu d'utiliser
textAppearanceLarge
dans la mise en page, (si vous êtes en utilisant xml pour construire la mise en page), définir votre propretextAppearanceLarge
le style de la styles.xml qui émule le android par défaut, sauf que vous pouvez changer la couleur en blanc.xml mise en page:
puis dans le styles.xml
Votre réponse travail, mais ce n'est pas la bonne façon de créer des android thèmes, je cherche aussi pour la solution, mais la manière est à modifier builtin android couleurs attributs facilitant la couleur de personnalisation.
OriginalL'auteur zsniperx
La seule différence entre le "style" et "thème" de l'est de la portée à laquelle un style est appliqué. Un style est appliqué à une Activité est appelé un Thème.
Voici un bon article sur le sujet :
http://brainflush.wordpress.com/2009/03/15/understanding-android-themes-and-styles/
OriginalL'auteur Akos Cz
En fait, j'ai aboiements le mauvais arbre. En substituant les couleurs et tout a très bien fonctionné. Cependant, par définition
android:background
dans mon thème, tout juste complètement foiré, et tout le texte est apparu en blanc, en dépit de m'écrase toutes les couleurs (y compris la textColorPrimary). En omettantandroid:background
a fait le tour.J'ai toujours apprécier votre réponse (même si vous avez été plus de parler de styles, je pensais à thèmes). Je suis lentement de départ pour l'obtenir, même si c'est encore un peu fragile.
OriginalL'auteur EboMike