J'ai un style personnalisé que je voudrais appliquer à mes vues. Je n'ai pas pu créer mes vues par programme, pas par XML, car c'est un contenu dynamique (la même vue peut apparaître X fois, mais pas plus de 10, donc je ne veux pas de liste).lecture de style android xml
si je peux obtenir un XmlPullParser du style, je peux easly utiliser AttributeSet attrs = Xml.asAttributeSet(parser);
et le transmettre à C'tor de la vue. Le problème est l'obtention du XmlPullParser. getresources(). GetX n'a pas de méthode getStyle(). Peut-être que je suis juste en train de prendre la mauvaise approche. Quelqu'un a-t-il une idée de la façon d'appliquer le style à une vue programmatique?
10x.
ok, j'ai essayé la troisième approche des paramètres C'tpr:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this, null, R.style.my_style_2);
tv.setText("this should be green!");
setContentView(tv);
}
et le style:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="my_style_2">
<item name="android:textColor">#FF00FF00</item>
<item name="android:textSize">20sp</item>
</style>
</resources>
Je ne comprends pas grand texte en vert. Je reçois la taille par défaut du texte en gris ...
et cela fonctionne/j'étais sûr que le deuxième paramètre est pour les attributs du style et le dernier est pour le thème, pas de style, mais je vais donner un coup de toute façon :-) il pourrait juste être l'affaire: - – codeScriber
Le 2ème attribut (AttributeSet) contient les attributs de la définition de mise en page XML. Le 3ème paramètre référence le style. L'ordre de chargement est: 1) charger à partir du thème (qui est défini globalement pour l'application 2) écraser les données des styles et 3) écraser avec les données de la mise en page xml – Impression
nop :-(ne fait pas le tour ... je mets mon style dans le dernier paramètre et il est ignoré, en fonction de votre priorité des choses, il aurait dû travailler.J'ai ajouté mon code de test à ma question ci-dessus – codeScriber