Saznajte Svoj Broj Anđela
Kako stvoriti odskočnu animaciju za Android
Ovdje u HASHTAGOVI , naši kupci ovise o nama kako bismo im pomogli da pouzdano upravljaju svojim sadržajem na društvenim mrežama. Kupci izdanaka koriste naše mobilne iOS i Android aplikacije kako bi mogli upravljati svojim društveni mediji u pokretu . Kada smo odlučili ažurirati našu Android poruku Napiši iskustvo za podršku objavljivanje više slika priloženih uz Tweet, željeli smo korisniku biti jasno kada je priloženo više slika, čak i kad nije vidljivo na zaslonu za sastavljanje.
Rješenje za dizajn: Koristite animaciju za označavanje slika izvan zaslona
S obzirom na naš dizajn i ograničenja mobilnog zaslona, bilo je moguće da priložene slike borave izvan zaslona. Iako ovo nije idealno, bila je nužna koncesija s obzirom na gustoću podržane funkcionalnosti na zaslonu za sastavljanje. Za slučajeve kada su slike zapravo izvan ekrana, odlučili smo implementirati vodoravnu animaciju 'odbijanja' koja bi ukazivala na to da se popis slika može pomicati.
Izbor implementacije: ObjectAnimator + EasingInterpolator
Postoji mnogo mehanizama za podršku osnovnim animacijama u Androidu. Neki zahtijevaju konfiguraciju u kodu, drugi u xml. Odabirući alternative, odlučili smo dati prioritet povratnoj kompatibilnosti (podržavamo sdk verziju 15+), jednostavnosti implementacije i prilagodljivosti. U konačnici smo odlučili koristiti kombinaciju ObjectAnimator i EasingInterpolator . Obje se mogu konfigurirati u Java kodu, koji je u konačnici pogodniji za programere: Sintaksa je poznata, a logika animacije može se u potpunosti definirati na jednom mjestu u bazi koda.
ObjectAnimator je klasa koju pruža Android okvir koja omogućuje izmjenu svojstva pogleda. Budući da se kretanje zadanog interpolatora za ObjectAnimator nije osjećalo prirodno za naš slučaj korištenja, odlučili smo se koristiti EasingInterpolator, što je praktična biblioteka koja nudi mnogo različitih modela interpolacije.

Animacijski kod za odbijanje
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(); }
Srećom, kod za postupanje s tim ponašanjem vrlo je jezgrovit. U retku 1 navodimo kako želimo animirati targetView. U ovom slučaju želimo izmijeniti svojstvo “translationX” targetView-a, a to je x položaj prikaza nakon izgleda. Želimo animirati od pomaka od 0dp od početnog položaja do pomaka od 25dp udesno i na kraju se vratiti na izvorni pomak od 0dp.
U retku 2 navodimo vrstu interpolacije koju bismo željeli. Poigrali smo se s različitim modelima interpolacije, ali na kraju smo odlučili da Ease.ELASTIC_IN_OUT izgleda najbolje za naš slučaj korištenja.

Za više informacija o podršci animacije svojstava u Androidu, pogledajte Property Animation programer dok .
Animacija u akciji
Zaista smo sretni zbog naših ažuriranja mobilnog iskustva sastavljanja. Krećući se naprijed, planiramo i dalje obogaćivati svoje mobilno iskustvo responzivnim vizualnim sučeljima. Zainteresirani ste za rad na ovakvim stvarima s nama? Dođi radite s nama na našem Android mobilnom timu!
Podijelite Sa Svojim Prijateljima: