Gunther: Schriftgröße in Tabellenzelle automatisch anpassen

Beitrag lesen

Hallo Wolfgang!

Und wie sieht es eigentlich mit dem möglichen Text aus? Wie variabel kann der sein (bezogen auf die Wortanzahl/ Wortlängen)?

In dieser wurde das Problem so gelöst, dass die Fachbezeichnung nach 3 Buchstaben abschneidet, was eben einer der Punkte ist, die ich anders haben möchte. Momentan hab ich die Zeilenhöhe der Tabelle noch variabel gelassen, d.h. das Wort "Gemeinschaftskunde" wird komplett ausgeschrieben.
Dass ich letztendlich die Wortlänge begrenzen muss, da sonst die Schriftgröße zu klein würde, ist mir klar.

Ich vermute nun, dass ich den eingegebenen String "analysieren" muss, d.h. mir jeden Buchstaben anschauen und dessen Breite aufsummieren muss...

Also so mein erster Gedanke ist der folgende ...
Es entfällt das Problem, dass du nicht sicher weisst, welche Schriftart verwendet wird. Und auch die Größe der Tabellenzelle (ich gehe mal nur vom Landscape Modus aus) ist dir bekannt.
Der größte Vorteil besteht aber imho darin, dass der mögliche Text eben nicht beliebig sein kann, sondern vielmehr aus einer recht überschaubaren Menge an möglichen Worten besteht.

Das ermöglicht evt. den Ansatz im Vorfeld "auszuprobieren", welche Schriftgröße für welche Unterrichtsfächer erforderlich ist.
Angenommen du findest so heraus, dass du bspw. 3 verschiedene Schriftgrößen (12px, 14px, 16px) brauchst, damit jedes Fach ausgeschrieben in die Tabellenzelle passt. Dann könntest du die Begriffe, die jeweils die gleiche Schriftgröße haben, in ein Array packen.
Beim Aufruf deiner App lässt du per Javascript den Inhalt jeder Tabellenzelle "scannen" und mit deinen Arrays "abgleichen". Bei einer Übereinstimmung weist du ebenfalls per Javascript der entsprechenden Tabellenzelle eine CSS-Klasse zu, die für die jeweilige Schriftgröße verantwortlich ist.

Ich bin absolut kein Javascript-Profi. Es mag also durchaus bessere Ansätze geben.
Jenachdem wieviele unterschiedliche Schriftgrößen du hinterher hast (haben willst) kannst du auch die, die aller Wahrscheinlichkeit nach am häufigsten vorkommt als Standard setzen und musst dann nur nach Zellen mit Inhalten suchen, die eine andere Schriftgröße erfordern.

Wenn deine Anwendung auch im Portrait Modus laufen soll, könntest du auch neben der Langform der jeweiligen Fächer eine abgekürzte Form davon speichern und die Inhalte beim Drehen des Handys entsprechend austauschen.

Alle möglichen Fächer(namen) im Vorfeld zu speichern um diese für den Eintrag im Stundenplan in einer Auswahlliste anzuzeigen wäre ja auch nicht verkehrt. Beim Hinzufügen eines neuen Wortes/ Fachs müsstest du halt auch noch den Wert für die zu verwendende Schriftgröße mit angeben (können).

Auf jeden Fall könnte ich mir vorstellen, dass es so oder so ähnlich "ordentlich" funktionieren könnte. Aber evt. hat hier auch noch jemand eine bessere Idee - also ruhig noch abwarten. ;-)

Gruß Gunther