Android Schriftgröße der Display-Breite anpassen

DerBlaueBaum

Mitglied
Halli hallo,

ich stehe vor folgendem Problem in der Android Entwicklung: Aus einem Array wird ein zufällig Wort ausgegeben (wodurch alle Wörter unterschiedlich lang sind). Dieses Wort möchte ich nun in die Schriftgröße so anpassen, dass es immer automatisch sich über den kompletten Screen streckt (in der Breite). Aktuell benutze ich eine festgelegt Schriftgröße, da geht das Wort allerdings je nach Bildschirm größe / Wortlänge über zwei Zeilen.

Das Wort wird mit Java in ein TextView geschrieben.

Wie ist es möglich dieses Problem anzupacken?

Viele Grüße
 

DerBlaueBaum

Mitglied
Bildschirmbreite / Buchstabenanzahl = Schriftgröße * Faktor?

Schonmal vielen dank für deine Antwort.

Das Problem ist wohl, dass man die Buchtstabenbreite nicht so ohne weiteres bestimmen kann, daher spielt die Schriftgröße wohl eher eine geringere Rolle?


Ich hab es jetzt so gemacht, dass das Textview größer sein muss, als die Schriftgröße. Ansonsten wäre das Textview über Zwei-Zeilen und das will ich ja nicht.


In Java gesehen habe ich das so gemacht:


Java:
		text_view.setText(text);

		text_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, 150);
		
		final ViewTreeObserver observer = text_view.getViewTreeObserver();
		observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
			@Override
			public void onGlobalLayout() {
				Log.i("Höhe", String.valueOf(text_view.getHeight()));
				float fsize = 150;
				while (text_view.getHeight() <= fsize) {
					fsize--;
				}
				text_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, fsize);

			}
		});

Weiß nicht, ob das so optimal ist :rtfm:
 
Zuletzt bearbeitet:

Neue Themen


Oben