Snabbtips Arbeta med anpassade teckensnitt i Android O

Den första utvecklarens förhandsgranskning av Android O är här!

I den här serien tittar vi på några av de kommande användargränssnittsfunktionerna som du kan börja experimentera med idag, via Android O Developer Preview.

I det första tipset visade jag dig hur du ställer in din utveckling för att stödja den här tidiga O-förhandsgranskningen, och hur man skapar text som automatiskt skala upp och skalar ner för att passa den aktuella skärmkonfigurationen. I det här tipset ska vi titta på hur Android O ska göra arbetet med anpassade teckensnitt en problemfri upplevelse.

Lägga till anpassade teckensnitt till ditt projekt

Har du någonsin velat göra en viss text sticka ut? Eller kanske du var övertygad om att en anpassad typsnitt skulle vara det perfekta sättet att lägga till lite extra personlighet i din ansökan?

Medan det finns många fördelar med att använda anpassade teckensnitt har det traditionellt varit en smärtsam upplevelse att arbeta med dem i Android, vilket kräver att du antingen använder ett bibliotek eller skapar en egen Se

Tack och lov är det att bli mycket lättare att arbeta med anpassade teckensnitt i Android, eftersom anpassade teckensnitt är en fulländad resurstyp i Android O. Det innebär att lägga till ett anpassat teckensnitt i din app blir lika enkelt som att lägga till någon annan resurs , till exempel bilder och text.

För att följa med den här handledningen behöver du några typsnittfiler som du kan lägga till i Android O-projektet som vi skapade i del ett.

Android O stöder båda .otf (OpenType) och .ttf (TrueType) -format. Det finns många webbplatser som erbjuder sådana typsnitt gratis, så spendera några minuter på Google tills du hittar en typsnitt du gillar.

Eftersom vi bara experimenterar med Android O: s nya funktioner, spelar det inte särskilt stor roll för vilket teckensnitt du använder, men när du letar efter teckensnitt att använda i produktutgåvor av din app så borde du alltid kolla in fonts villkoren. Bara för att en resurs är ledig att ladda ner betyder inte automatiskt att det inte finns några begränsningar för hur du kan använda och omfördela den här resursen, så kontrollera alltid det fina trycket!

Du bör också överväga din ansökans syfte, innehåll och målgrupp, eftersom olika teckensnitt överför olika meddelanden. Om du utformar en app för att hjälpa människor att slutföra sina avkastningar, kan din målgrupp kämpa för att ta din apps ekonomiska och juridiska råd på allvar om den levereras i en konstig och skrynklig typsnitt!

När du har hittat ett teckensnitt du vill arbeta med, ladda ner och pakka ut det. Vid denna punkt bör du kontrollera typsnittets filnamn för ogiltiga tecken, i huvudsak allt som inte är mindre än a-z, 0-9 eller ett understreck. Försök att inkludera andra tecken, och Android Studio kommer att kasta ett fel så snart du försöker referera till den resursen.  

När du har din typsnitt fil (er) behöver du någonstans att lagra dem:

  • Högerklicka på ditt projekt app / res mapp och välj Ny> Android-resurs katalog.
  • Öppna rullgardinsmenyn och välj font.
  • Stiga på font som den Filnamn.
  • Klick ok.
  • Dra och släpp din typsnitt fil (er) i din nya res / font mapp.

Använda dina anpassade teckensnitt

Du kan använda en anpassad typsnitt till din text med det nya android: fontFamily XML-attribut:

Du kan också lägga till anpassade typsnitt till alla stilar du har skapat i din app:

Om du vill använda anpassade teckensnitt programmerat kan du hämta en anpassad typsnitt med hjälp av getFont (int) metod, till exempel:

importera android.support.v7.app.AppCompatActivity; importera android.os.Bundle; importera android.widget.LinearLayout; importera android.widget.TextView; importera android.widget.LinearLayout.LayoutParams; importera android.graphics.Typeface; public class MainActivity utökar AppCompatActivity @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); LinearLayout linearLayout = ny LinearLayout (this); TextView ProgrammaticallyTextView = ny TextView (this); ProgrammaticallyTextView.setText ("Detta är lite text"); // Referens din anpassade typsnitt // Typeface typeface = getResources (). GetFont (R.font.doublefeature); ProgrammaticallyTextView.setTypeface (typsnitt); linearLayout.addView (ProgrammaticallyTextView); this.setContentView (linearLayout, nya LinearLayout.LayoutParams (LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 

Skapa en teckensnittsfamilj

Ibland kan du pakka ut en typsnittskatalog och upptäcka flera versioner av samma typsnitt, till exempel en kursiv version eller typsnitt med olika vikter och tjocklekar.

Om du använder flera versioner av samma typsnitt kan du kanske gruppera dem tillsammans i en typfamilj. En teckensnittsfamilj är i huvudsak en dedikerad XML-fil där du definierar varje version av teckensnittet, tillsammans med dess associerade stil- och viktattribut.

Så här skapar du en typfamilj:

  • Se till att du har lagt till alla typsnittfiler till ditt projekt res / font mapp.
  • Högerklicka på ditt projekt res / font mappen och välj sedan Ny> Font-resursfil.
  • Ge den här filen ett namn och klicka sedan på ok.
  • Öppna den här XML-filen och definiera alla olika versioner av denna typsnitt, tillsammans med deras stil och viktattribut, till exempel:
 http://schemas.android.com/apk/res/android ">    

Du kan sedan hänvisa till några av teckensnitt i denna familj med hjälp av android: fontFamily attribut. Till exempel:

android: fontFamily = "@ font / doublefeature_bold"

Glöm inte att testa!

Medan det är lätt att få bäras bort med nya funktioner, gå inte överbord med anpassade teckensnitt! Konsekventa användargränssnitt är enklare att navigera och förstå, och om din app ständigt växlar mellan teckensnitt kan dina användare äntligen uppmärksamma hur din text utseende, snarare än vad det är säger.

Om du inkluderar anpassade teckensnitt i ditt projekt är det viktigt att testa hur det här tecknet går över ett brett spektrum av olika skärmkonfigurationer, eftersom din högsta prioritet alltid ska vara säker på att texten är lätt att läsa.

Slutsats

I det här tipset visade jag dig hur man skapar mer elegant och unik text, genom att lägga till anpassade teckensnitt för dina projekt. I den sista inlägget i den här serien kommer vi att flytta vårt fokus från text till bilder, eftersom jag visar dig hur man skapar anpassningsbara lanseringsikoner som automatiskt anpassar sin form så att den passar den aktuella enheten.

Under tiden kan du kolla in några av våra andra handledning på Android App-utveckling!