Ermitteln Sie die Breite eines Strings in einer bestimmten Schriftart

8

Gibt es eine Möglichkeit herauszufinden, wie viele Pixel breit ein bestimmter String in einem bestimmten Font ist?

In meinem Activity gibt es ein dynamisches String s, das auf ein Button gesetzt wurde. Manchmal ist das String zu lang und es ist in zwei Zeilen aufgeteilt, was das Button hässlich aussehen lässt. Da ich jedoch keine Art von Konsole Font verwende, können die einzelnen Zeichenbreiten variieren. Es ist also keine Hilfe, etwas wie

zu schreiben %Vor%

weil ein "mmmmmmmm" breiter ist als "iiiiiiiii".

Alternativ gibt es in Android eine Möglichkeit, eine bestimmte String in eine einzelne Zeile zu passen, sodass das System die Font size automatisch skaliert?

BEARBEITEN:

da die Antwort von wsanville wirklich nett war, hier ist mein Code, der die Schriftgröße dynamisch setzt:

%Vor%     
Valentino Ru 30.10.2012, 13:59
quelle

1 Antwort

4

Sie sollten Paint.setTypeface () und dann Paint.measureText () . Sie finden auch andere Methoden in der Klasse Paint wie setTextSize() , um ebenfalls zu helfen.

Ihre Follow-up-Frage zur Skalierung von Text wurde in diese Frage .

    
wsanville 30.10.2012, 14:08
quelle

Tags und Links