Snelle tip werken met aangepaste lettertypen in Android O

De eerste ontwikkelaar preview van Android O is hier!

In deze serie bekijken we enkele van de opkomende gebruikersinterface-functies waarmee u vandaag kunt experimenteren via de Android O Developer Preview.

In de eerste tip liet ik je zien hoe je je ontwikkeling instelt om dit vroege O-voorbeeld te ondersteunen, en hoe je tekst kunt creëren die automatisch wordt opgeschaald en verkleind naar de huidige schermconfiguratie. In deze tip gaan we kijken naar hoe Android O het werken met aangepaste lettertypen probleemloos laat verlopen.

Aangepaste lettertypen aan uw project toevoegen

Heb je ooit een bepaald stuk tekst willen laten opvallen? Of misschien was u ervan overtuigd dat een aangepast lettertype de perfecte manier zou zijn om een ​​extra persoonlijkheid aan uw toepassing toe te voegen?

Hoewel het gebruik van aangepaste lettertypen veel voordelen biedt, is het werken met deze apparaten in Android van oudsher een pijnlijke ervaring, waarvoor u ofwel een bibliotheek moet gebruiken of een aangepaste versie moet maken Uitzicht

Gelukkig gaat het werken met aangepaste lettertypen in Android op het punt om veel eenvoudiger te worden, omdat aangepaste lettertypen worden ingesteld als een volledig ondersteund resourcetype in Android O. Dit betekent dat het toevoegen van een aangepast lettertype aan uw app net zo eenvoudig is als het toevoegen van een andere bron , zoals afbeeldingen en tekst.

Om deze tutorial te volgen, hebt u enkele lettertypebestanden nodig die u kunt toevoegen aan het Android O-project dat we in deel één hebben gemaakt.

Android O ondersteunt beide .OTF (OpenType) en .ttf (TrueType) -indelingen. Er zijn tal van websites die dit soort lettertypen gratis aanbieden, dus besteed een paar minuten aan het zoeken naar Google totdat u een lettertype vindt dat u bevalt.

Omdat we gewoon experimenteren met de nieuwe functies van Android O, maakt het niet bepaald uit welk lettertype je gebruikt, maar als je lettertypen wilt gebruiken in productieversies van je app, moet je altijd controleer de algemene voorwaarden van dat lettertype. Alleen omdat een bron gratis te downloaden is, betekent dit niet automatisch dat er geen beperkingen zijn voor de manier waarop u deze bron kunt gebruiken en herdistribueren, dus controleer altijd de kleine lettertjes!

U moet ook rekening houden met het doel, de inhoud en het doelpubliek van uw toepassing, aangezien verschillende lettertypen verschillende berichten overbrengen. Als u een app ontwerpt om mensen te helpen bij het invullen van hun belastingaangifte, kan het zijn dat uw publiek moeite heeft om het financiële en juridische advies van uw app serieus te nemen als het wordt geleverd in een vreemd en maffe lettertype!

Zodra je een lettertype hebt gevonden waarmee je wilt werken, download en pak je het uit. Op dit punt moet u de bestandsnaam van het lettertype controleren op ongeldige tekens, in feite alles wat niet in kleine letters a-z, 0-9 of een onderstrepingsteken staat. Probeer andere tekens te gebruiken en Android Studio zal een fout genereren zodra u naar die bron probeert te verwijzen.  

Zodra je je lettertypebestand (en) hebt, heb je ergens nodig om ze op te slaan:

  • Klik met de rechtermuisknop op uw project app / res map en selecteer Nieuw> Android-bronnenmap.
  • Open het vervolgkeuzemenu en selecteer doopvont.
  • invoeren doopvont als de Bestandsnaam.
  • Klik OK.
  • Sleep je lettertypebestand (en) naar je nieuwe res / font map.

Uw eigen lettertypen gebruiken

U kunt een aangepast lettertype toepassen op uw tekst met behulp van de nieuwe android: fontFamily XML-kenmerk:

U kunt ook aangepaste lettertypen toevoegen aan alle stijlen die u in uw app heeft gemaakt:

Als u aangepaste lettertypen programmatisch wilt gebruiken, kunt u een aangepast lettertype ophalen met behulp van de getFont (int) methode, bijvoorbeeld:

import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.LinearLayout.LayoutParams; importeer android.graphics.Typeface; public class MainActivity breidt AppCompatActivity uit @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); LinearLayout linearLayout = nieuwe LinearLayout (this); TextView ProgrammaticallyTextView = new TextView (this); ProgrammaticallyTextView.setText ("Dit is een tekst"); // Verwijs naar uw eigen lettertype // Typeface lettertype = getResources (). GetFont (R.font.doublefeature); ProgrammaticallyTextView.setTypeface (lettertype); linearLayout.addView (ProgrammaticallyTextView); this.setContentView (linearLayout, nieuwe LinearLayout.LayoutParams (LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 

Een lettertypefamilie maken

Soms kunt u een lettertypemap uitpakken en meerdere versies van hetzelfde lettertype ontdekken, zoals een cursieve versie of lettertypen met verschillende gewichten en diktes.

Als u meerdere versies van hetzelfde lettertype gebruikt, wilt u ze misschien samen groeperen in een lettertypefamilie. Een lettertypefamilie is in feite een speciaal XML-bestand waarin u elke versie van het lettertype definieert, samen met de bijbehorende kenmerken voor stijl en gewicht.

Om een ​​lettertypefamilie te maken:

  • Zorg ervoor dat je alle lettertypebestanden hebt toegevoegd aan je project res / font map.
  • Klik met de rechtermuisknop op uw project res / font map en selecteer vervolgens Nieuw> Fontbronbestand.
  • Geef dit bestand een naam en klik vervolgens op OK.
  • Open dit XML-bestand en definieer alle verschillende versies van dit lettertype, samen met hun kenmerken voor stijl en gewicht, bijvoorbeeld:
 http://schemas.android.com/apk/res/android ">    

U kunt vervolgens verwijzen naar de lettertypen in deze familie met behulp van de android: fontFamily attribuut. Bijvoorbeeld:

android: fontFamily = "@ font / doublefeature_bold"

Vergeet niet om te testen!

Hoewel het gemakkelijk is om je te laten meeslepen door nieuwe functies, ga niet overboord met aangepaste lettertypen! Consistente gebruikersinterfaces zijn gemakkelijker te navigeren en te begrijpen. Als uw app voortdurend wisselt tussen lettertypen, kunnen uw gebruikers mogelijk meer aandacht besteden aan uw tekst looks, in plaats van wat het is zegt.

Als u aangepaste lettertypen in uw project opneemt, is het belangrijk om te testen hoe dat lettertype wordt weergegeven in een groot aantal verschillende schermconfiguraties, omdat uw hoofdvoorrang altijd moet zijn om ervoor te zorgen dat uw tekst gemakkelijk leesbaar is.

Conclusie

In deze tip heb ik je laten zien hoe je meer stijlvolle en unieke tekst kunt maken door aangepaste lettertypen aan je projecten toe te voegen. In de laatste post in deze serie gaan we onze focus verleggen van tekst naar afbeeldingen, omdat ik je laat zien hoe je aangepaste lanceerpictogrammen kunt maken die hun vorm automatisch aanpassen aan het huidige apparaat.

Bekijk in de tussentijd enkele van onze andere zelfstudies over de ontwikkeling van Android-apps!