Sfat rapid personalizați fonturile Android

Fiecare dispozitiv Android are o colecție de fonturi standard: Droid Sans, Droid Sans Mono și Droid Serif. Acestea au fost proiectate pentru a fi optime pentru afișajele mobile, deci acestea sunt cele trei fonturi pe care le veți lucra cu cea mai mare parte a timpului și pot fi personalizate utilizând o mulțime de atribute XML. Cu toate acestea, s-ar putea să observați nevoia de a utiliza fonturi personalizate în scopuri speciale. Vom analiza acest lucru și în acest sfat rapid.

Atribute de fonturi

În următoarea secțiune vom examina diferitele atribute XML pe care le puteți utiliza pentru a modela componentele cu text. Dacă doriți să urmați, configurați un nou proiect Android în IDE-ul dvs. de alegere și deschideți-vă main.xml layout file.

Fontul

După cum se precizează în prezentare, există trei tipuri diferite de fonturi implicite, cunoscute sub numele de familia de fonturi Droid: sans, monospace și serif. Puteți specifica oricare dintre ele drept valoare pentru Android: font atributul în declarația XML a unei componente care acceptă stilul textului, cum ar fi TextView. Iată un exemplu de toate cele trei tipuri de fonturi în acțiune:

      

În plus față de cele de mai sus, există o altă valoare a atributului numit "normal" care implică implicit fontul sans.

Stilul textului

Android: textstyle atributul poate fi folosit pentru a pune accentul pe text. Valorile posibile sunt: normal, îndrăzneț, italic. De asemenea, puteți specifica bold | italic.

 

Mărimea textului

Android: textSize specifică dimensiunea fontului. Valoarea sa trebuie să fie formată din două părți: un număr cu virgulă mobilă urmat de o unitate. Unitățile disponibile sunt: ​​sp (pixeli scalați), px (pixeli), dp (pixeli independenți de densitate), în (inci), mm (milimetri). Este, în general, o bună practică de a utiliza sp astfel încât mărimea poate să scadă în funcție de setările utilizatorului.

 

Culoarea textului

Android: textcolor Valoarea atributului este o valoare RGB hexazecimală, cu un canal alfa opțional, similar cu ceea ce se găsește în CSS și poate fi în unul din următoarele formate:

  • #RGB
  • #ARGB
  • #RRGGBB
  • #AARRGGBB

De asemenea, puteți să trimiteți o declarație de culoare utilizând @ Culoare / COLOR_NAME.

 

Text Shadow

Puteți utiliza trei atribute diferite pentru a particulariza aspectul umbrei dvs. de text:

  • Android: shadowColor Culoarea umbrei în același format ca textColor.
  • Android: shadowRadius Radiusul umbrei specificat ca număr în virgulă mobilă.
  • Android: shadowDx Decalajul orizontal al umbrei specificat ca număr de punct mobil.
  • Android: shadowDy Deplasarea verticală a umbrei specificată ca număr de punct mobil.

Numerele cu puncte plutitoare nu au o unitate specifică - ele sunt doar niște factori arbitrari.

 

Utilizarea fonturilor personalizate

În sfârșit, vom examina procesul de utilizare a fonturilor personalizate. Vom folosi acest font pentru demonstrații. Descărcați-l și plasați fișierul TTF în directorul ./assets (creați-l dacă acesta nu există încă).

Vom folosi un fișier de layout de bază cu un TextView, marcat cu un id de "custom_font", astfel încât să putem accesa în codul nostru.

    

Deschideți fișierul principal de activitate și introduceți-l în metoda onCreate ():

 TextView txt = (TextView) findViewById (R.id.custom_font); Tipul fontului = Typeface.createFromAsset (getAssets (), "Chantelli_Antiqua.ttf"); txt.setTypeface (font);

Fontul clasa conține o metodă static constructor createFromAsset, care ia un AssetManager ca primul parametru și o cale către fișierul din al doilea argument. Îi predăm administratorul de active implicit și numele fișierului de fonturi, deoarece acesta se află în rădăcina directorului "active". Odată ce avem o instanță a textului personalizat, tot ce a mai rămas este un apel la metoda setTypeface () a TextView. Simplu, nu? Ar putea fi, de asemenea, înțelept să vă organizați fonturile într-un subdirector dacă directorul de materiale este împachetat cu alte fișiere.

Cu toate acestea, există câteva probleme potențiale pe care le au personajele personalizate. Ellipsizarea s-ar putea să nu funcționeze corect dacă fontul nu are un glif pentru caracterul special de elipsă și internaționalizarea ar putea să nu fie acceptat, deoarece fontul dvs. ar trebui să se ocupe de orice limbă pe care utilizatorii ar putea să o introducă. De asemenea, veți dori să țineți cont de dimensiunea totală a fonturilor personalizate, deoarece aceasta poate crește destul de mult dacă utilizați o mulțime de fonturi diferite.

Concluzie

Acest sfat rapid vă arată diferitele opțiuni disponibile pentru personalizarea fonturilor implicite Droid. De asemenea, ați învățat cum să includeți și să utilizați fonturi personalizate în aplicația dvs. Nu uitați să vă asigurați că orice font personalizat pe care îl utilizați are o licență care vă acordă permisiunea să o utilizați în aceste scopuri!

Cod