Finn Ut Antall Engel
Hvordan lage en Bounce-animasjon for Android
Her på HASHTAGS , kundene våre er avhengige av oss for å hjelpe dem med å administrere innholdet på sosiale medier pålitelig. Sprout-kunder bruker våre mobile iOS- og Android-applikasjoner, slik at de kan administrere sine sosiale medier på farta . Da vi bestemte oss for å oppdatere Android-meldingen vår Compose-opplevelse for å støtte publisering flere bilder knyttet til en Tweet, ønsket vi å gjøre det klart for brukeren når flere bilder ble lagt ved, selv når de ikke er synlige på komponentskjermen.
Designløsning: Bruk animasjon til å betegne bilder utenfor skjermen
Gitt vårt design og begrensningene til en mobilskjerm, var det mulig for vedlagte bilder å ligge utenfor skjermen. Selv om dette ikke er ideelt, var det en nødvendig konsesjon gitt tettheten av støttet funksjonalitet på Compose-skjermen. For tilfeller der bilder faktisk er utenfor skjermen, bestemte vi oss for å implementere en horisontal 'sprett' -animasjon som skulle indikere at listen over bilder var rullbar.
Implementeringsvalg: ObjectAnimator + EasingInterpolator
Det er mange mekanismer for å støtte grunnleggende animasjoner i Android. Noen krever konfigurasjon i kode, andre i xml. Når vi valgte alternativer, bestemte vi oss for å prioritere bakoverkompatibilitet (vi støtter SDK versjon 15+), enkel implementering og konfigurerbarhet. Til slutt bestemte vi oss for å bruke en kombinasjon av ObjectAnimator og EasingInterpolator . Begge disse kan konfigureres i Java-kode, som til slutt er mer utviklervennlig: Syntaksen er kjent, og animasjonslogikken kan defineres helt på ett sted i kodebasen.
ObjectAnimator er en klasse levert av Android-rammeverket som gjør det mulig å modifisere en Property of a View. Fordi bevegelsen til standardinterpolatoren for ObjectAnimator ikke føltes naturlig for vår brukstilfelle, bestemte vi oss for å bruke EasingInterpolator, som er et praktisk bibliotek som gir mange forskjellige interpolasjonsmodeller.

Sprett animasjonskode
private void doBounceAnimation(View targetView) { ObjectAnimator animator = ObjectAnimator.ofFloat(targetView, 'translationX', 0, 25, 0); animator.setInterpolator(new EasingInterpolator(Ease.ELASTIC_IN_OUT)); animator.setStartDelay(500); animator.setDuration(1500); animator.start(); }
Heldigvis er koden for å håndtere denne oppførselen veldig kortfattet. I linje 1 spesifiserer vi hvordan vi vil animere targetView. I dette tilfellet vil vi endre “translationX” -egenskapen til targetView, som er x-posisjonen til visningen etter layout. Vi ønsker å animere fra en forskyvning på 0dp fra utgangsposisjonen til en forskyvning på 25dp til høyre og til slutt komme tilbake til den opprinnelige forskyvningen på 0dp.
I linje 2 spesifiserer vi typen interpolasjon vi ønsker. Vi lekte rundt med forskjellige interpolasjonsmodeller, men bestemte oss til slutt for Ease.ELASTIC_IN_OUT så best ut for vår brukstilfelle.

For mer informasjon om støtte for eiendomsanimasjon i Android, sjekk ut Eiendom Animasjon utvikler dok .
Animasjon i aksjon
Vi er veldig glade for oppdateringene til Compose-opplevelsen for mobil. Fremover planlegger vi å fortsette å berike mobilopplevelsen vår med responsive visuelle grensesnitt. Interessert i å jobbe med denne typen ting med oss? Komme jobb med oss på vårt Android-mobilteam!
Del Med Vennene Dine: