Snabbtips Skapa autoniserande text med Android O

Den första utvecklarens förhandsvisning av Android O har kommit fram!

I denna serie tips kommer vi att undersöka några av de nya användargränssnittsfunktionerna som du kan se fram emot i den kommande versionen av Android O (reo?).

I det här första tipset får vi lite praktisk erfarenhet av Android O: s nya autoseringsfunktion för text, som låter dig skapa text som kontraherar och expanderar automatiskt för att passa den aktuella layouten.

Eftersom detta är vår första titt på Android O här på Envato Tuts +, låt oss börja med att se till att vår utvecklingsmiljö är Android O-redo.

Ställ in utvecklarens förhandsgranskning

För närvarande kan du bara komma åt Android O Developer Preview via den senaste kanariebyggnaden av Android Studio.

Kanariebyggnaderna är Android Studio, och uppdateras vanligtvis varje vecka. Medan dessa byggnader testas är de mindre stabila än de officiella Android Studio-utgåvorna, och rekommenderas därför inte för produktionsutveckling.

För att ladda ner den senaste kanarieen bygga och ta Android O-förhandsgranskningen, starta först Android Studio och välj Android Studio > Inställningar ... från verktygsfältet. Välj Utseende och beteende> Systeminställningar> Uppdateringar, och välj i rullgardinsmenyn Kanarieöarna.

Klicka sedan på den medföljande Kolla nu knappen för att ladda ner den senaste utgåvan från Kanarieöarna.

Nästa, starta om din IDE och öppna SDK Manager. Se till att SDK Manager s SDK-plattformar fliken är vald väljer du Android O Förhandsgranskning komponent.

Växla sedan till SDK-verktyg fliken och välj följande: 

  • Android SDK Build-Tools 26.0.0 (rc1 eller högre)
  • Android SDK Platform-Verktyg 26.0.0 (rc1 eller högre)
  • Android Emulator 26.0.0
  • Support Repository

Klicka på ok knappen för att ladda ner alla dessa komponenter.

Slutligen skapa ett nytt Android-projekt som riktar sig mot Android O. För enkelhets skull, sätt projektets minsta SDK till Android 7+ O Förhandsgranska och välj sedan Tom aktivitet.

Konfigurera din gradfil

När Android Studio har skapat ditt projekt, öppna dess modulnivå build.gradle fil och ändra buildToolsVersion versionen och Stödbibliotek version till de senaste utgåvorna:

tillämpa plugin: 'com.android.application' android compileSdkVersion 'android-O' buildToolsVersion '26 .0.0-rc1 'defaultConfig applicationId "com.jessicathornsby.myapplication" minSdkVersion' O 'targetSdkVersion' O 'versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

I hela denna serie lägger vi till ett antal Android O-funktioner till den här appen. Om du kommer att uppleva dessa funktioner i åtgärd måste du skapa en AVD som kör Android O-systembilden. Starta Android Studio AVD Manager, välj Skapa virtuell enhet ... och följ sedan instruktionerna på skärmen för att skapa en AVD. Du kan använda inställningarna som du väljer, men när Android Studio uppmanar dig att välja din systembild ska du se till att du väljer O.

Skapa mer dynamisk text

En av de nya användargränssnittsfunktionerna som vi kan se fram emot i Android O är textautomering. Med tillägg av några XML-attribut kan du skapa TextViews som automatiskt ökar och minskar storleken på din text så att den alltid passar perfekt inom ramen för TextView. 

Denna automatiska skalning kan säkerställa att texten fortfarande är lätt att läsa över Androids stora utbud av olika skärmstorlekar och densiteter. Auto-resizing kan också hjälpa dig att undvika konstiga tomma utrymmen i din layout eller text som blir avskurna i mellansatsen eftersom du försökte klämma in för många ord i en TextView.

Det finns två sätt att du kan implementera textautomatisering:

  • kornighet. Med den här metoden kan du ange en minsta och maximal textstorlek plus ett granulärvärde, vilket är hur mycket din text kan öka eller minska i storlek med varje "steg". Textview Skal sedan din text horisontellt och vertikalt med detta inkrementella värde tills det passar Textview perfekt.
  • Förinställda storlekar. Här definierar du en uppsättning av alla storlekar som din text kan vara. Android O väljer sedan den lämpligaste storleken från den här rutan, baserat på Textviews dimensioner.

Oavsett vilken metod du väljer, måste du alltid lägga till android: autoSizeText = "enhetlig" XML-attributet till din Textview, så öppna din layoutresursfil och lägg till det här elementet nu.

kornighet

För att implementera autosortering med hjälp av granularitet måste du lägga till följande XML-attribut i din Textview:

  • autoSizeMinTextSize: Minsta storlek på Textview kan använda.
  • autoSizeMaxTextSize: Den maximala storleken på Textview kan använda.
  • autoSizeStepGranularity: Ökningsvärdet. Detta är 1px som standard.

Här skapar jag en vy som kan ändra storlek på texten mellan 10sp och 100sp, i steg av 2SP:

Förinställda storlekar

Det andra alternativet är att skapa en rad stödda textstorlekar. Android O väljer sedan det lämpligaste värdet från den här listan, baserat på hur mycket text den ska visa, Textviews dimensioner och den aktuella skärmkonfigurationen.  

Om ditt projekt inte redan innehåller en arrays.xml fil, då kan du skapa en genom att högerklicka på ditt projekt res / värden katalog och välja Ny> Värden Resursfil. I fönstret som visas, ge den här filen namnet arrayer, och klicka sedan på ok.

Du kan då öppna din nya res / värden / arrays.xml fil och definiera alla storlekar du vill ha Textview att använda.

   10sp 15sp 25sp 30SP 100sp 150sp  

Slutligen referera till denna array med autoSizePresetSizes attribut, till exempel:

Glöm inte att testa!

När du har lagt till autosizing till en Textview, starta upp din Android O AVD och ta en titt på hur din Textview gör på en emulerad Android O-skärm. För att kontrollera att autosökning fungerar korrekt, uppdatera din Textview för att visa olika mängder text och sedan se vilken inverkan detta har på den slutgiltiga bilden du ser på skärmen.

Om du implementerar autosättning är det viktigt att du testa dina textvyer över en rad olika skärmkonfigurationer, eftersom du kanske behöver anpassa dina minsta och maximala textstorlekar för att du ska kunna läsa texten över olika skärmar.

Slutsats

I det här snabba tipset visade jag dig hur man skapar text som skala automatiskt. I nästa tips tittar vi på hur Android O ska göra det mycket lättare att använda anpassade teckensnitt i dina Android-appar. Under tiden, kolla in några av våra andra handledning: