Wrong language? Choose different language instead:

close
Android Forum » Android Developer Forum » Android Entwickler Forum » style="@style/..." in Java setzen ???

style="@style/..." in Java setzen ???

style="@style/..." in Java setzen ???
verfasst am 20.09.2010 15:13:13
Hallo,

ich hab einen Style:

1<style name="button_back">
2 <item name="android:background">@drawable/btn_back</item>
3 <item name="android:textSize">20dip</item>
4 <item name="android:textStyle">bold</item>
5 <item name="android:textColor">#ffffff</item>
6 <item name="android:layout_marginTop">10dip</item>
7 <item name="android:text">Abbrechen</item>
8 </style>

Im XML referenziere ich dann diesen Style:

1<Button android:layout_width="fill_parent"
2 android:layout_height="wrap_content" style="@style/button_back" />

Jetzt will ich das ganze in Java machen.

Kann mir jemand sagen wo ich da den Setter für finde?

Manches ist einfach unglaublich versteckt :)

Viele Grüße
Marco
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: style="@style/..." in Java setzen ???
verfasst am 20.09.2010 18:12:16
ist anscheind nicht zur laufzeit möglich

quelle

-----
Sammelthread|AndroidPIT-Regeln

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gelöschter Account
RE: style="@style/..." in Java setzen ???
verfasst am 20.09.2010 20:10:39
Hab ich auch schon mal lange nach gesucht, und nichts gefunden. Bin dann nach längerem Nachdenken aber auch mit mir selbst übereingekommen, dass das wohl auch besser so ist, da Logik und Layout dann doch besser voneinander getrennt bleiben.

Gruß,

Thomas
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: style="@style/..." in Java setzen ???
verfasst am 13.03.2012 11:51:28
Die Lösung ist eigentlich einfach, wenn man sie kennt.

Man erzeugt einen Style, ein Theme mit einem Item, welches in Attrs definiert wird und den Style referenziert.

Dann kann man im Konstruktor vom View (3. Parameter) einfach die Stylereferenz benutzen:

http://stackoverflow.com/questions/8369504/why-so-complex-to-set-style-from-code-in-android

Viele Grüße,
Marco
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: style="@style/..." in Java setzen ???
verfasst am 13.03.2012 22:22:09
Tach!

Marco S.
Die Lösung ist eigentlich einfach, wenn man sie kennt. Man erzeugt einen Style, ein Theme mit einem Item, welches in Attrs definiert wird und den Style referenziert. Dann kann man im Konstruktor vom View (3. Parameter) einfach die Stylereferenz benutzen:

So einfach ist die Sache nun auch wieder nicht. Wenn du einen Button (gilt auch für andere (alle?) View-Elemente) neu stylen willst, musst du den alten wegwerfen und einen ganz neuen erstellen, denn nur so kommst du dazu, den Konstruktor aufzurufen. Das ist dann quasi genauso „zur Laufzeit“ wie das was Android beim Inflaten eines Layout-XMLs macht. Man könnte also auch ein zweites Layout mit dem anderen Style erstellen, und dieses zur Laufzeit mit dem Inflater reinholen.


Felix.
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)