En nybegynnerveiledning for å implementere Android-animasjoner (del 2)

I del 1 diskuterte vi om det grunnleggende om animasjoner og om eiendomsanimasjoner. I dette innlegget skal jeg diskutere Vis animasjoner og det nye aktivitetsovergangsrammen introdusert i API-nivå 21. Overgangsrammen ble allerede lagt til i API-nivå 19 (4.4.2), men den ble kraftigere i API-nivå 21.

Android-rammeverket begynte med Vis-animasjoner, men på grunn av deres problemer, introduserte de Eiendom-animasjonene som omtalt i del 1. Vis-animasjoner er perfekte for plaskskjermanimasjoner og andre områder der det ikke er slik interaksjon med utsikten. I de fleste tilfeller blir de implementert ved hjelp av XML-kode.

Typer visningsanimasjon

  1. Tween-animasjon - Dette er animasjonene som brukes på en visning som er ansvarlig for å skalere, oversette, rotere eller falme en visning (enten sammen eller en etter en).
  2. Ramme-animasjon - Disse animasjonene brukes ved bruk av forskjellige tegnelister. I dette må vi bare spesifisere en liste over tegnbare tegn i XML-koden, og animasjonen kjøres akkurat som rammer av en video.

Vis animasjoner er ikke mye brukt fordi det samme kan være å bruke ViewPropertyAnimator-objekt som er mye raskere og leselig. Ramme-animasjon ligner på Drawable Animation. Det viktigere er å forstå den nye overgangsrammen som er mye nyttig og gi vakre animasjoner.

De nye animasjonene (API-nivå 21+)

Er det ikke kult?

Android tilbyr aktivitetsoverganger, fragmentoverganger og delte elementoverganger. Andre animasjoner er sirkulære avslører, ringvirkning osv., Buet bevegelse. Ringvirkningen kan brukes bare ved å stille bakgrunnsegenskapen til en visning som:

android: “attr / selectableItemBackground” bakgrunn =

Her vil vi prøve ut aktivitetsoverganger og delte elementoverganger akkurat som ovenfor GIF.

Det grunnleggende trinnet er å lage stiler-v21-fil og gjøre følgende ting:

Forklaring av ovennevnte stiler-v21.xml

Delte elementoverganger - I dette er det et delt syn mellom to aktiviteter / fragmenter. Delt visning betyr at begge visningene er like i begge aktivitetene, det er bare at størrelsene deres er litt forskjellige. For eksempel - et bilde i et gjenvinningsvisningselement som når du klikker (tapper) viser varedetaljer med samme bilde, men i større størrelse. Vi vil gjøre noe som dette: -

Kult… Men hvordan fungerer denne tingen?

I utgangspunktet er det 2 aktiviteter her. En med en liten prikk og en annen med en stor prikk og tekst. Når jeg klikker på knappen i Aktivitet A, åpnes det for Aktivitet B med animasjonen. Denne effekten kan også sees i Google Play Store-appen. Men de bruker også sirkulære avslører, lysbueeffekter. Det viktigste å legge merke til her at bildet IKKE beveger seg fra originalposisjon til sluttposisjon. Overgangsrammen beregner startscenen og sluttscenen og animerer deretter mellom disse scenene. For å vite hvordan animasjoner fungerer refererer dette. Også ved hjelp av en ny intensjonsmekanisme er dette oppnåelig som vist nedenfor:

Her har jeg brukt API-sjekken for lollipop og deretter kjørt overgangen, og i andre nivåer vil aktiviteten starte normalt. Den nye paren <> -linjen hjelper systemet å vite om de delte elementene.

Merk - Hold overgangsnavnet det samme i begge visningene (liten prikk og stor prikk). Dette hjelper systemet med å kjenne de delte elementene. En god ting er å plassere overgangsnavnet i strenger.xml.

Her har jeg brukt tilpasset_animation.xml overgang for aktivitetsovergangen, som er en eksploderende effekt. Mer enn så har jeg ekskludert noen visninger for å delta i animasjon. Disse visningene er statuslinjen og verktøylinjen. Vi kan bruke forskjellige typer effekt (fade, slide) for å matche bruken vår.

Aktivitetsoverganger - API-nivå 21 introduserte mer realistiske og brukervennlige aktivitetsoverganger. For eksempel virker Explode, ChangeImageTransform-overganger mer realistiske og styrer brukeren av aktivitetsflyten bedre. I eksemplet ovenfor har jeg brukt fade-overgang som er levert av Android-systemet. Hvis vi ikke spesifiserer noen animasjoner, brukes automatisk overføring. Vi kan lage vår egen overgang ved å lage en tilpasset klasse som utvider Overgangen. Se dette for referanse.

Circular Reveal

Rundskriv avslører effekt

Ovennevnte sirkulære avslørende effekt opprettes når du klikker på FAB:

Takk for at du leser artikkelen. Forslag / rettelser / kommentarer er alltid velkomne. Hvis du liker det, kan du trykke på lignende-knappen og dele artikkelen med Android-fellesskapet. La oss dele kunnskapen så mye vi kan.

La oss også bli venner på About.me, Twitter, LinkedIn, Github og Facebook.