Snelle tip maak autosizing-tekst met Android O

De eerste ontwikkelaar preview van Android O is gearriveerd!

In deze serie tips zullen we enkele van de nieuwe UI-functies verkennen waar je naar uit kunt kijken in de aankomende release van Android O (reo?).

In deze eerste tip krijgen we praktische ervaring met de nieuwe tekstautomatiseringsfunctie van Android O, waarmee u tekst kunt maken die samentrekt en automatisch wordt uitgebreid om in de huidige lay-out te passen.

Aangezien dit onze eerste blik is op Android O hier bij Envato Tuts +, laten we beginnen door ervoor te zorgen dat onze ontwikkelingsomgeving Android O-ready is.

Stel het voorbeeld van de ontwikkelaar in

Momenteel heb je alleen toegang tot de Android O Developer Preview via de nieuwste Canary-versie van Android Studio.

Canary builds zijn de laatste in de Android Studio en worden meestal wekelijks bijgewerkt. Hoewel deze builds zijn getest, zijn ze minder stabiel dan de officiële Android Studio-releases en daarom worden ze niet aanbevolen voor productie-ontwikkeling.

Als u de nieuwste Canarische versie wilt downloaden en het Android O-voorbeeld wilt pakken, start u eerst Android Studio en selecteert u Android Studio > Voorkeuren ... van de werkbalk. kiezen Uiterlijk & Gedrag> Systeeminstellingen> Updates, en selecteer in het vervolgkeuzemenu Canarische Eilanden.

Klik vervolgens op het bijbehorende Check nu om de nieuwste release van het Canarische kanaal te downloaden.

Start vervolgens uw IDE opnieuw en open de SDK Manager. Zorgen voor de SDK Manager's SDK-platforms tabblad is geselecteerd, selecteert u de Android O Preview bestanddeel.

Schakel vervolgens over naar de SDK Tools tab en selecteer het volgende: 

  • Android SDK Build-Tools 26.0.0 (rc1 of hoger)
  • Android SDK Platform-Tools 26.0.0 (rc1 of hoger)
  • Android Emulator 26.0.0
  • Ondersteuning Repository

Klik op de OK om al deze componenten te downloaden.

Maak ten slotte een nieuw Android-project dat Android O target. Stel eenvoudigheidshalve de minimale SDK van het project in op Android 7+ O Voorbeeld en selecteer vervolgens Lege activiteit.

Configureer uw trapbestand

Zodra Android Studio uw project heeft gemaakt, opent u het module-niveau build.gradle bestand en verander de buildToolsVersion versie en de Ondersteuningsbibliotheek versie tot de laatste releases:

plug-in toepassen: '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"

In deze reeks voegen we een aantal Android O-functies toe aan deze voorbeeldapp. Als u deze functies in actie gaat ervaren, moet u een AVD maken waarop de afbeelding van het Android O-systeem wordt uitgevoerd. Start de AVD Manager van Android Studio, selecteer Maak een virtueel apparaat ... en volg de instructies op het scherm om een ​​AVD te maken. U kunt de instellingen van uw keuze gebruiken, maar als Android Studio u vraagt ​​om uw systeemkopie te selecteren, zorg er dan voor dat u selecteert O.

Meer dynamische tekst maken

Een van de nieuwe UI-functies waar we naar uit kunnen zien in Android O is het automatisch aanpassen van tekst. Met de toevoeging van een paar XML-kenmerken, kunt u TextViews maken die automatisch de grootte van uw tekst vergroten of verkleinen, zodat deze altijd perfect binnen de grenzen van de TextView past. 

Deze automatische schaalvergroting kan ervoor zorgen dat uw tekst eenvoudig leesbaar blijft in de enorme reeks verschillende schermformaten en dichtheden van Android. Automatisch aanpassen kan je ook helpen rare lege spaties in je opmaak te vermijden, of tekst die halverwege de zin wordt afgesneden omdat je probeerde te veel woorden in een tekstweergave te proppen.

Er zijn twee manieren om tekst automatisch aanpassen te implementeren:

  • granularity. Met deze methode kunt u een minimum- en maximumtekstgrootte opgeven, plus een granulariteitswaarde. Dit is hoeveel uw tekst kan worden vergroot of verkleind bij elke 'stap'. Tekstweergave zal dan uw tekst horizontaal en verticaal schalen met deze incrementele waarde, totdat deze in de Tekstweergave volmaakt.
  • Vooraf ingestelde formaten. Hier definieert u een reeks van alle formaten die uw tekst mogelijk kan bevatten. Android O selecteert vervolgens de meest geschikte grootte in deze array, gebaseerd op de Tekstweergavede afmetingen.

Welke methode u ook kiest, u moet altijd de android: autoSizeText = "uniform" XML-kenmerk voor uw Tekstweergave, open dus je lay-outresourcebestand en voeg dit element nu toe.

granularity

Als u automatisch aanpassen met granulariteit wilt implementeren, moet u de volgende XML-kenmerken toevoegen aan uw Tekstweergave:

  • autoSizeMinTextSize: De minimale grootte de Tekstweergave kan gebruiken.
  • autoSizeMaxTextSize: De maximale grootte van de Tekstweergave kan gebruiken.
  • autoSizeStepGranularity: De incrementwaarde. Dit is 1px standaard.

Hier maak ik een weergave waarvan de tekst kan worden verkleind 10sp en 100sp, in stappen van 2sp:

Vooraf ingestelde formaten

De andere optie is om een ​​array van ondersteunde tekstformaten te maken. Android O kiest vervolgens de meest geschikte waarde uit deze lijst, gebaseerd op de hoeveelheid tekst die moet worden weergegeven, de Tekstweergavede afmetingen en de huidige schermconfiguratie.  

Als uw project nog geen arrays.xml bestand, dan kunt u er een maken door met de rechtermuisknop op uw project te klikken res / waardes map en selecteren Nieuw> Resource Resource File. Geef dit bestand de naam in het venster dat verschijnt arrays, en klik vervolgens op OK.

U kunt vervolgens uw nieuwe openen res / waarden / arrays.xml bestand en definieer alle maten die u wilt Tekstweergave gebruiken.

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

Ten slotte, verwijs deze array met behulp van de autoSizePresetSizes kenmerk, bijvoorbeeld:

Vergeet niet om te testen!

Nadat u autosizing hebt toegevoegd aan a Tekstweergave, start uw Android O AVD op en bekijk hoe uw Tekstweergave wordt gerenderd op een geëmuleerd Android O-scherm. Als u wilt controleren of autosizing correct werkt, werkt u uw Tekstweergave om verschillende hoeveelheden tekst weer te geven en bekijk vervolgens welk effect dit heeft op het uiteindelijke weergegeven beeld dat u op het scherm ziet.

Als u automatisch aanpassen implementeert, is het belangrijk dat u uw tekstweergaven test in een reeks verschillende schermconfiguraties, omdat u mogelijk uw minimum- en maximumtekstgroottes moet aanpassen om ervoor te zorgen dat uw tekst leesbaar blijft op verschillende schermen.

Conclusie

In deze snelle tip heb ik je laten zien hoe je tekst kunt maken die automatisch wordt geschaald. In de volgende tip zullen we kijken naar hoe Android O op het punt staat om het te maken veel gemakkelijker om aangepaste lettertypen te gebruiken in uw Android-apps. Bekijk in de tussentijd enkele van onze andere zelfstudies: