Android Custom Fonts Tutorial

I android, kan du definere dine egne fonter for strengene i søknaden din. Du trenger bare å laste ned den nødvendige skriften fra internett, og deretter plassere den i eiendeler /fonter mappe.

Etter å sette fonter i eiendeler mappen under fonter mappen, kan du få tilgang til det i java koden gjennom Skrifttype klasse . Først, få referansen til tekstvisning i koden. Syntaksen er gitt nedenfor −
TextView tx = (TextView) findViewById (R.id.textview1);

Den neste tingen du trenger å gjøre er å ringe statisk metode for Face klasse createFromAsset ()
for å få tilpasset skrift fra eiendeler. Syntaksen er gitt nedenfor −
Face custom_font = Typeface.createFromAsset (getAssets () ", fonter /skrift name.ttf");

Det siste du trenger å gjøre er å sette dette skrift objektet tilpasset til din TextView Face eiendom. Du må ringe setTypeface ()
metode for å gjøre det. Syntaksen er gitt nedenfor −
tx.setTypeface (custom_font);

Bortsett fra disse metodene, det finnes andre metoder definert i Skrifttype klassen, som du kan bruke til å håndtere Fonts mer effektivt
Sr.. NoMethod & description1 opprette (String familienavn, int stil)

Opprett et skriftsnitt objekt gitt et familienavn, og alternativ stil informasjon
2 opprette (Skrifttype familie, int stil)
< p> Opprett et skriftsnitt objekt som passer best spesifiserte eksisterende Skrifttype og den angitte stilen
3 createFromFile (String bane)

Opprett en ny skriftsnitt fra en bestemt skriftfilen
4 defaultFromStyle (int stil)

Returnerer en av standard skrifttype objekter, basert på den angitte stilen
5 getStyle ()

Returnerer Skrifttype iboende stil attributter Anmeldelser
Eksempel

Her er et eksempel som demonstrerer bruk av skriftsnitt for å håndtere CustomFont. Det skaper en grunnleggende program som viser en tilpasset skriften du angitt i skriftene filen.

For å eksperimentere med dette eksempelet, du kan kjøre dette på en faktisk enhet eller i en emulator.
StepsDescription1You vil bruke Android studio IDE å lage en Android-applikasjon under en pakke com.example.sairamkrishna.myapplication. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Download en font fra internett og legg den under eiendeler /fonter folder.3Modify src /MainActivity.java filen for å legge nødvendig code.4Modify res /layout /activity_main å legge respektive XML components5Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene

Følgende er innholdet av den modifiserte hovedaktivitet filen MainActivity .java
.
pakken com.example.sairamkrishna.myapplication, import android.content.Context, importere android.content.Intent, import android.content.SharedPreferences, importere android.graphics.Typeface; import android.support.v7.app.ActionBarActivity; import android.os.Bundle, import android.view.Menu, import android.view.MenuItem, import android.view.View, import android.widget.Button, import android.widget.EditText, import android.widget.TextView; import android.widget.Toast; public class MainActivity strekker ActionBarActivity {TextView TV1, TV2; beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); TV1 = (TextView) findViewById (R.id.textView3); tv2 = (TextView) findViewById (R.id.textView4); Skriftsnitt face = Typeface.createFromAsset (getAssets (), "font /font.ttf"); tv1.setTypeface (ansiktet); Skriftsnitt face1 = Typeface.createFromAsset (getAssets (), "font /font1.ttf"); tv2.setTypeface (face1); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

Følgende er endret innholdet i xml activity_main.xml
< RelativeLayout xmlns:. android = "http://schemas.android.com/apk/res/android" xmlns: verktøy = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: paddingLeft = "@ dimen /activity_horizontal_margin" android: paddingRight = "@ dimen /activity_horizontal_margin . "android: paddingTop =" @ dimen /activity_vertical_margin "android: paddingBottom =" @ dimen /activity_vertical_margin "verktøy: kontekst =" MainActivity "> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Skrifttype" android: id = "+ id /textView" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" android : Tekststørrelse = "30dp" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Guider Point" android: id = "+ id /textView2" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" android: Tekststørrelse = "35dp" android: textcolor = "# ff16ff01" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Guider Point" android: id = "+ id /textView3" android: layout_centerVertical = "true" android: Tekststørrelse = "45dp" android: layout_alignParentRight = "true" android: layout_alignParentEnd = "true" android: layout_alignParentLeft = "true" android: layout_alignParentStart = "true" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Guider Point" android: id = "+ id /textView4" android: layout_below = "+ id /textView3" android: layout_alignLeft = "+ id /textView3" android: layout_alignStart = "+ id /textView3" android: layout_marginTop = "73dp" android: Tekststørrelse = "45dp" /> < /RelativeLayout >

Følgende er innholdet i res /verdier /string.xml
. < resources > < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

Følgende er innholdet av AndroidManifest.xml
fil
. <? xml version = "1.0 "encoding =" utf-8 "> < manifest xmlns:? android =" http://schemas.android.com/apk/res/android "pakken =" com.example.sairamkrishna.myapplication "> < søknad android: allowBackup = "true" android: icon = "@ Mipmap /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: ". MainActivity" name = android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre vår Custom Font søknaden vi bare endret. Jeg antar at du hadde laget ditt AVD
mens du gjør oppsett miljø. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra toolbar.Android studio installerer programmet på AVD og starter den, og hvis alt er bra med oppsettet og søknad, vil det vise følgende Emulator vindu −.

Som du kan se at teksten som dukket opp på AVD har ikke en standard android font, heller det har den egendefinerte skriften du angitt i skriftene mappen

Merk og minus; Du må ta vare på den størrelsen og karakteren støttes av skriften, når du bruker tilpassede skrifter. Anmeldelser