2013-09-05 22 views
5

Próbuję mieć niestandardowy EditText na podstawie tła, którego używam. Obraz w tle ma spacje między obszarami wejściowymi, więc muszę mieć trochę spacji między znakami (kerning), aby je dopasować bezpośrednio. Tak więc na przykład po każdym znaku wprowadzonym przez użytkownika, muszę umieścić 4 białe spacje po tym.Odstępy między literami w EditText dla Androida

Na razie nie znalazłem żadnego rozwiązania tego problemu w sieci, niektórzy ludzie sugerowali TextWatchera, ale nie udało mi się sprawić, żeby działało tak jak chcę.

Czy ktoś może mi w tym pomóc?

Dzięki

+0

chcesz tylko dodać trochę spacji między znakami? –

+0

Musiałem to zrobić dzisiaj, znajdź tutaj moją odpowiedź: http://stackoverflow.com/a/26732420/1304830 – Fr4nz

Odpowiedz

0

To pytanie jest związane z How to change letter spacing in a Textview?

Jak pokazano w tym numerze: android format edittext to display spaces after every 4 characters rozwiązaniem może być wstawić spacje z kodu Java ...

Trzeba użyć TextWatcher aby osiągnąć przestrzenie celów wizualnych.

i używać dowolnej prostu podziału ciąg przez logikę przestrzeni połączyć go z powrotem lub pętla przez cały ciąg na znak mądry i eliminacji (char) 32 z łańcucha

O ile wiem, rzeczywisty charakter odstępy nie są możliwe, choć chciałbym też z tego skorzystać.

Inną opcją może być użycie niestandardowej czcionki z dołączonym odstępem między znakami.

1

Czy rozważałeś użycie niestandardowej czcionki? Niektóre typy czcionek są tworzone w celu rozciągnięcia lub zmniejszenia lub mają puste przestrzenie. Przy tak wielu różnych czcionek dostępnych online, na pewno można coś znaleźć. Możesz również tworzyć własne za pomocą oprogramowania. Jeśli zaczniesz pisać od zera, może to być czasochłonne. Nie jestem w 100% pewien, czy pasuje on dokładnie do twojego tła, ale jest to pomysł, który możesz wziąć pod uwagę.

Jeśli nie pasuje, to zawsze można dostosować tło, aby poprawić czcionkę. Oto kod dla tych, którzy mogą chcieć używać niestandardowych czcionek również w swojej aplikacji.

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

myeditText.setTypeface(myfont); 

Czcionka znajduje się w folderze zasobów w innym folderze o nazwie fonts.

Powiązane problemy