2010-10-18 5 views
2

Disons que j'ai une mise en page avec style:la suppression d'un style dans Android

<LinearLAyout ... > 
    <TextView ... style=someStyle /> 
    <ImageView ... style=someImageStyle ... /> 
</LinearLayout> 

le style sera défini dans un fichier XML dans mon projet. Comment puis-je remplacer ce style avec un fichier XML externe? (Je demande parce que j'ai remarqué que la vue n'a pas applyStyle \ setStyle ou quoi que ce soit de ce genre (meilleur pari, parce que le style doit être analysé, comparé à android: attr pour validation, puis appliqué sur chaque élément de la vue). Je me demande comment suis-je suppose de faire des thèmes downlaodable pour mon application.

+0

J'ai lu les 'styles et thèmes' d'android déjà ce problème n'est pas mentionné :-) – codeScriber

+0

avez-vous lu par hasard http://stackoverflow.com/questions/2016249/how-to-programmatically-setting- style-attribut-dans-un-vue – Terrance

+0

yup, c'est malheureusement ce que je pense ... je pense qu'il est un peu boiteux je ne peux pas avoir un chargeur comme pour les dimensions et les couleurs par exemple un pour le style qui crée l'objet attribut je peux passer sur le C'tor d'un objet OU utiliser dans applyStyle() ce serait la même chose que de définir ever.ything dans les fichiers XML, puis de les paramétrer par programmation – codeScriber

Répondre

1

Après une expérience que je peux partager mes réflexions à ce sujet ici dans ma propre question ... donc première remarque est, même dans votre propre Si vous souhaitez appliquer un style à une vue, vous pouvez utiliser getResources.getDimen ..., getRessources(). getColor(), getResrouces.getDrawable () etc ...

En outre, vous pouvez prendre la morue e à partir de l'aapt ou ouvrir une apk existante et prendre le xml compilé à partir de là et ensuite utiliser le même code en lisant le xml (c'est le code C esprit vous !!!) de source android. Je ne le ferais pas pour la simple raison que c'est une exagération d'appliquer un style simple à une vue. Le temps requis pour écrire la méthode est trop court. et si vous devez le faire en XML, vous pouvez créer un fichier XML avec juste votre vue, puis gonfler, vous ne pouvez pas remplacer le style en cours d'exécution si. pour cela vous devez définir votre propre mécanisme pour remplacer les couleurs, tailles, arrière-plans etc ... et fournir les images aussi, ce qui n'est pas si facile, lire ces images depuis le stockage local, si je ne me trompe pas, est moins productif puis lisez-les à partir des actifs ou des répertoires pouvant être dessinés.

Questions connexes