992 Stimmen

TextView Text automatisch skalieren, damit er in die Grenzen passt

Ich suche nach einer optimalen Möglichkeit, die Größe von umlaufendem Text in einer TextView so dass es in die Begrenzungen getHeight und getWidth passt. Ich bin nicht einfach auf der Suche nach einem Weg, um den Text zu umbrechen - ich möchte sicherstellen, dass es sowohl umbricht und ist klein genug, um vollständig auf dem Bildschirm passen.

Ich habe ein paar Fälle auf StackOverflow gesehen, in denen eine automatische Größenanpassung erforderlich war, aber sie sind entweder sehr spezielle Fälle mit Hack-Lösungen, haben keine Lösung oder beinhalten das erneute Zeichnen der TextView rekursiv, bis er klein genug ist (was sehr speicherintensiv ist und den Benutzer zwingt, den Text bei jeder Rekursion Schritt für Schritt schrumpfen zu sehen).

Aber ich bin mir sicher, dass jemand da draußen eine gute Lösung gefunden hat, die nicht das beinhaltet, was ich tue: mehrere schwere Routinen zu schreiben, die den Text analysieren und messen, die Größe des Textes ändern und dies so lange wiederholen, bis eine angemessene Größe gefunden wurde.

Welche Routinen gibt es? TextView für den Umbruch des Textes verwenden? Könnte man damit nicht irgendwie vorhersagen, ob der Text klein genug sein wird?

tl;dr : Gibt es eine bewährte Methode zur automatischen Größenanpassung einer TextView in seine getHeight- und getWidth-Grenzen eingepasst werden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X