En af de virkelig interessante funktioner for udviklere android 8.0 (API-niveau 26) introducerer, Fonts in XML, som giver os mulighed for at bruge skrifttyper som ressourcer. Vi kan tilføje filen font
i mappen res/font/
for at bundle skrifttyper som ressourcer. Disse skrifttyper kompileres i R
-filen og er automatisk tilgængelige i Android Studio.
For at bruge funktionen Fonts in XML på enheder, der kører Android 4.1 (API-niveau 16) og højere, skal vi bruge Support Library 26. For at tilføje skrifttyper som ressourcer skal du udføre følgende trin i Android Studio:
- Højreklik på mappen res, og gå til New > Android resource directory. – Vinduet Ny ressourcemappe vises.
- Vælg
font
på listen Ressourcetype, og klik derefter på OK. - Bemærk: Navnet på ressourcemappen skal være font.
Føj dine skrifttypefiler i skrifttypemappe
- Føj dine
ttf
ellerotf
skrifttyper i skrifttypemappe. Mappestrukturen ser ud som nedenfor.
- Du kan dobbeltklikke på en skrifttypefil for at få vist fontene i filen i editoren.
Opret skrifttypefamilie
For at oprette en skrifttypefamilie skal du udføre følgende trin i Android Studio:
- Højreklik på
font
-mappen, og gå til Ny >skrifttype-ressourcefil. Vinduet Ny ressourcefil vises. - Indtast filnavnet, og klik derefter på OK. Den nye XML-skrifttyperesource åbnes i editoren.
- Før hver enkelt skrifttypefil, stil og vægtattribut i
<font>
-elementet. Følgende XML illustrerer tilføjelsen af skrifttype-relaterede attributter i XML-skrifttype-ressource-XML’en:
Brug denne skrifttype
Nu kan du bruge denne skrifttype i din app på følgende måder –
- bruge skrifttypen direkte i layoutfilen
- bruge skrifttypen programatisk
- bruge skrifttypen via stil og app-tema (dette er den bedste måde)
Brug skrifttypen direkte i layoutfilen
- I layout-XML-filen, indstiller du attributten
fontFamily
til den skrifttypefil, du ønsker at få adgang til.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto_fonts_family"/>
Brug skrifttypen programmæssigt
- Du kan også indstille skrifttypen programmæssigt. Hvis du vil indstille skrifttypen programmatisk, skal du følge nedenstående koder.
Typeface typeface = ResourcesCompat.getFont(this, R.font.roboto);
.............or........................
Typeface typeface = getResources.getFont(R.font.roboto);textView.setTypeface(typeface);
Brug skrifttypen via stil og App-tema
Åbn styles.xml
, og indstil fontFamily
-attributten til den skrifttypefil, du vil have adgang til.
# Using the font via app theme....(this is the best way)
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
....
<item name="android:fontFamily">@font/roboto_fonts_family</item>
</style>
-----------------------------------------------------------
# Using the font via style. Now you can add this style wherever you want.
<style name="customfontstyle">
<item name="android:fontFamily">@font/roboto_fonts_family</item>
</style>
Download Google Fonts til din app
Strap 1: Vælg en tekstvisning i din app, og klik på fontFamily-attributten under Attributter i det grafiske layout.
Skridt 2: Vælg "More Fonts…"
i bunden, hvilket åbner nedenstående dialogboks. Derefter vil du se et nyt vindue åbnes, hvor du kan skrive din ønskede skrifttype fra listen, dvs. almindelig, fed, kursiv osv. som vist i nedenstående billede.
Strap 4: Nu er der to muligheder:
Add font to project: Fonts vil blive downloadet til dit projekt i font-mappen (font-mappen vil blive automatisk genereret, hvis den ikke er oprettet før). Nu er denne skrifttype klar til brug. Du kan bruge denne skrifttype ved at lave font-family som før.
Skab skrifttype, der kan downloades: Dette er en anden spændende funktion i android-appen. Nu skriver jeg ikke til dette. Du kan se en fin artikel om Opret downloadbar skrifttype.
Tak for at læse denne artikel. Glem ikke at give claps, hvis din finder denne artikel nyttig. Happy Coding:)