2013-09-05 23 views
5

Ich versuche, einen benutzerdefinierten EditText basierend auf dem Hintergrund, den ich verwende, zu haben. Das Hintergrundbild hat einige Leerzeichen zwischen den Eingabebereichen, so dass ich etwas Abstand zwischen den Zeichen (Kerning) haben muss, damit sie genau passen. So zum Beispiel nach jedem Zeichen, das der Benutzer eingibt, muss ich danach 4 Leerzeichen setzen.Buchstabenabstand in EditText für Android

Ich konnte bisher keine Lösung dafür finden, einige Leute haben TextWatcher vorgeschlagen, aber ich konnte es nicht schaffen, es so zu machen, wie ich es auch will.

Kann mir jemand helfen?

Dank

+0

Sie möchten nur etwas Leerzeichen zwischen den Zeichen hinzufügen? –

+0

Ich musste das heute selbst machen, finde meine Antwort hier: http://StackOverflow.com/a/26732420/1304830 – Fr4nz

Antwort

0

Diese Frage zu How to change letter spacing in a Textview?

Wie bei dieser Frage gezeigt verwandt ist: android format edittext to display spaces after every 4 characters eine Lösung könnte sein, Räume mit Java-Code einfügen ...

Sie müssen TextWatcher verwenden um visuelle Zweckräume zu erreichen.

und verwenden Sie einfach geteilte Zeichenfolge von Raum Logik zurück oder Schleife pro Zeichen durch die gesamte Zeichenfolge weise zu verbinden und beseitigen (char) 32 aus dem String

Soweit ich tatsächlichen Charakter kennen Abstand ist nicht möglich, obwohl ich das auch gerne selbst benutzen würde.

Eine andere Option könnte die Verwendung einer benutzerdefinierten Schriftart mit dem eingeschlossenen Zeichenabstand sein.

1

Ich habe überlegt, eine benutzerdefinierte Schriftart zu verwenden? Einige Schriftarten werden gestreckt oder verkleinert oder haben leere Bereiche. Mit so vielen verschiedenen Schriftarten online verfügbar, können Sie definitiv etwas finden. Sie können auch Ihre eigenen mit einer Software machen. Es kann zeitaufwendig sein, wenn Sie die Beschriftung von Grund auf neu starten. Ich bin nicht 100% sicher, ob es genau zu Ihrem Hintergrund passt, aber es ist eine Idee, die Sie berücksichtigen können.

Wenn es nicht passt, vermutete ich, dass Sie den Hintergrund immer anpassen können, um Ihre Schriftart auch zu reparieren. Hier ist der Code für diejenigen, die benutzerdefinierte Schriftarten auch in ihrer App verwenden möchten.

Typeface myfont = Typeface.createFromAsset(getAssets(), 
      "fonts/Blocks2.ttf"); 

myeditText.setTypeface(myfont); 

Die Schriftart befindet sich im Asset-Ordner unter einem anderen Ordner namens Fonts.