Ich habe einen benutzerdefinierten Stil, den ich gerne auf meine Ansichten anwenden würde. Ich konnte meine Ansichten nicht programmatisch erstellen, nicht über XML, da es sich um eine dynamische Inhaltsmenge handelt (dieselbe Ansicht kann X-mal angezeigt werden, aber nicht mehr als 10, also möchte ich keine Liste).lesen android style xml
Wenn ich einen XmlPullParser des Stils bekommen kann, kann ich einfach AttributeSet attrs = Xml.asAttributeSet(parser);
verwenden und an den C'tor des Views übergeben. Das Problem besteht darin, den XmlPullParser zu erhalten. getresources(). GetX hat keine getStyle() -Methode. Vielleicht bin ich nur falsch. Hat jemand eine Idee, wie man den Stil auf eine programmatische Ansicht anwendet?
10x.
ok, habe ich versucht, den dritten C'tpr Parameter Ansatz:
@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);
}
und den Stil:
<?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>
Ich habe nicht großen grünen Text. Ich bekomme Standardgröße grauer Text ...
und das funktioniert/ich war sicher, der zweite Parameter ist für die Attribute aus dem Stil und der letzte ist für das Thema, nicht Stil, aber ich werde es trotzdem versuchen :-) Es könnte nur der Deal sein: -) – codeScriber
Das zweite Attribut (AttributeSet) enthält die Attribute aus der XML-Layoutdefinition. Der dritte Parameter verweist auf den Stil. Die Ladereihenfolge ist: 1) Laden von Thema (das global für die App definiert ist. 2) Überschreiben von Daten von Stilen und 3) Überschreiben mit Daten von XML-Layout – Impression
10 nop :-(tut nicht th Trick ... ich setze mein Stil in der letzten Parameter und es wird ignoriert, nach Ihrer Priorität der Dinge hätte es funktioniert.Ich fügte meine Test-Code zu meiner Frage oben – codeScriber