10
votes

Comment changer le TextColorPrimary dans un thème?

Je change du thème d'une activité dans Oncreate en utilisant Settheme (je le fais même avant d'appeler Super.Oncreate (), car cela est censé être plus fiable).

Cela fonctionne dans le sens que cela change les couleurs de fond et de premier plan. Cependant, ma mise en page comporte quelques éléments qui utilisent des styles comme TextAppeRancelge. Maintenant, la TextAppeAranceRancelarge d'Android utilise en interne le 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.

Voici la partie cruciale du thème: xxx

L'arrière-plan apparaît blanche, les visions simples apparaissent noir ... mais textviews à l'aide de TextAppEarCelarge sont blancs et d'une telle invisible (blanc sur blanc).

J'ai essayé des choses comme ceci: xxx

mais aucun de ceux qui ne font rien. Quel est le tour de magie?


0 commentaires

3 Réponses :


7
votes

Tout comme une solution de contournement, au lieu d'utiliser textappeAppeRancelarge dans la mise en page (si vous utilisez XML pour construire la mise en page), définissez votre propre TextAppeRancelarge style styles.xml qui émule l'android par défaut, sauf que vous pouvez modifier la couleur en blanc.

mise en page XML: xxx

puis dans les styles.xml < Pré> xxx


2 commentaires

Merci Snipe! Pour élaborer: J'essaie d'ajouter des thèmes à mon application que vous pouvez changer d'entre elles, donc, j'ai fondamentalement, j'ai un style par thème qui est censé définir tout le look - si l'utilisateur choisit le thème "blanc", tout sera noir Sur blanc, etc. Je ne sais pas comment je voudrais dire que si j'avais un style séparé pour "grand".


Votre solution de réponse, mais ce n'est pas la bonne façon de créer des thèmes androides, je cherche également la solution, mais la méthode avancée consiste à modifier des attributs de couleurs Android intégrés pour une personnalisation facile des couleurs.



1
votes

s'avère que je n'aborde pas le mauvais arbre. Remplacer les couleurs et tout a bien fonctionné bien. Cependant, en définissant android: fond dans mon thème, tout vient d'être complètement gâché et que tout texte est apparu blanc, malgré moi de remplacer toutes les couleurs (y compris TextColorPrimary). Omission android: fond l'astuce.


1 commentaires

J'apprécie toujours votre réponse (bien que vous parliez plus de styles, je pensais à des thèmes). Je commence lentement à l'obtenir, bien que ce soit encore un peu tremblant.



4
votes

La seule différence entre "style" et "thème" est la portée à laquelle un style est appliqué à. Un style appliqué à une activité s'appelle un thème.

Voici une bonne écriture sur le sujet: http://brainflush.wordpress.com/2009/ 03/15 / compréhension-android-thèmes-and-styles /


0 commentaires