Jak zmienić domyślną czcionkę klawiszy klawiatury, którą piszę w Androidzie (Eclipse)?
DziękujęJak zmienić czcionkę klawisza na klawiaturze Androida?
Odpowiedz
znalazłem odpowiedź: wprowadzonego OnDraw ...
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
try{
onBufferDraw();
}catch(Exception ex){
}
if (mBuffer!=null)
canvas.drawBitmap(mBuffer, 0, 0, null);
}
Czy może istnieć lepszy sposób? Takie podejście wygląda na zbyt wiele pracy i wiąże się z modyfikowaniem wielu prywatnych vars/metod, które mogą łatwo zepsuć się w przyszłych wersjach Androida. Czy może pójść drogą korzystania z obrazów poprzez "keyIcon", ponieważ wydaje się, że jest to czystszy sposób? –
@paul_sns Chciałbym mieć lepszy sposób, ale teraz jestem do tego przyzwyczajony. Nie widziałem zbyt wielu zmian w nowszych wersjach. – Heidar
czy mógłbyś przedłużyć odpowiedź? Nie wiem, w jaki sposób onDraw pomoże zmienić czcionkę. – Raykud
Cóż, to bardzo szerokie pytanie. Mogę ci powiedzieć, jak ustawić inną czcionkę; jak to zrobić w aplikacji na klawiaturze, zależy od Ciebie.
Umieść czcionki (.ttf lub .OTF) do folderu swoje aktywa i użyć następującego kodu (zakładając czcionkę o nazwie „myfont.ttf” i TextView o identyfikatorze „klucz”):
Typeface myFont = Typeface.createFromAsset(getAssets(), "myfont.ttf");
TextView key = (TextView)findViewById(R.id.key);
key.setTypeface(myFont);
Przypomnienie: nie zapomnij sprawdzić licencji na czcionkę, której używasz. Większość nie zezwala na redystrybucję bez odszkodowania. Jedna swobodnie licencjonowana czcionka, której możesz użyć, to Bitstream Vera Sans.
Dziękuję za odpowiedź, ale zmieniam przykład SoftKeyboard i nie mam żadnego TextView, aby ustawić czcionkę. Mam tylko InputMethodService, klawiatura, klucz i widok klawiatury. – Heidar
Interesujące. Tak, patrząc na to bardziej, nie * widzę * sposobu na modyfikację. Jednak aplikacje takie jak SwiftKey mają inny krój czcionki, więc jest to możliwe. Niestety nie mam dla ciebie lepszej odpowiedzi. – kcoppock
Jednym rozwiązaniem jest umieszczenie obrazu dla każdego klawisza, ale jest to czasochłonne. Dziękuję ci i powiedz mi, jeśli coś znalazłeś. – Heidar
Jednym z rozwiązań jest użycie keboardView.java zamiast android.inputmethodservice.KeyboardView
.
Należy również zmienić paint.setTypeface(Typeface.DEFAULT_BOLD)
na paint.setTypeface(my font)
, a do projektu należy dodać attrs.xml.
jeśli myślisz, aby zmienić styl czcionki android niestandardowych klawiszy na klawiaturze stylu czcionki z zewnętrznym .ttf stylu czcionki wtedy można sprawdzić moją odpowiedź na link answer to change the font style of key label of android custom keyboard and also to change the font style throughout the android application
ta odpowiedź jest weryfikowany przez mnie osobiście tak możesz zaufać i to sprawdzić.
Szukasz motywu klawiaturowego? – Robert