Fontgröße global einstellen?

  • Antworten:2
Marco S.
  • Forum-Beiträge: 105

13.07.2010, 21:33:58 via Website

Schönen guten abend,

ich hab da eine App, rund 5 Views, rund 50 Labels.

Nun muss ich global die Fontgröße ändern (zur Laufzeit).

Gibts da eine bessere Möglichkeit als alle 50 Labels per findById zu suchen und abzuändern?

Vielleicht eine Globale Möglichkeit?

Z.B. einen Style, den alle 50 Labels benutzen, einmalig zur Laufzeit zu ändern?

Viele Grüße
Marco

Antworten
Tobias E.
  • Forum-Beiträge: 180

13.07.2010, 22:00:58 via Website

Bin mir jetzt nicht sicher ob so Einstellungen kaskadieren. D.h. wenn Du alle Views und Labels in ein LinearLayout packst und dann die Schriftgröße des LinearLayouts änderst, ob das dann automatisch für alle sub-views gilt. Denke aber eher nicht.

Wenn Du solche Massen-Änderungen an den views machen musst und nicht 50x findById() ausführen möchtest, gibt es auch noch die Möglichkeit die Labels direkt im Code zu generieren und nicht über XML inflate.

TextView myLabel[];
myLabel=new TextView[50];
for (int i=1; i<50; i++) {
myLabels[i]=new TextView(this);
}

Dann kannst Du später in einer Schleife mit .setTextSize() die Textgröße in den 50 Labeln updaten ohne die Views erst mit findById finden zu müssen. Ich denke aber nicht dass das von der Performance her etwas wesentliches bringt gegenüber findById().

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

14.07.2010, 03:13:50 via Website

Ein Observer Pattern verwenden!

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten