Šeit plkst HASHTAGS , mūsu klienti ir atkarīgi no mums, lai palīdzētu viņiem droši pārvaldīt savu sociālo mediju saturu. Sprout klienti izmanto mūsu mobilās iOS un Android lietojumprogrammas, lai viņi varētu pārvaldīt savas programmas sociālie mediji, atrodoties ceļā . Kad mēs nolēmām atjaunināt mūsu Android ziņojumu Rakstīt pieredzi, lai atbalstītu publicēšana vairākiem attēliem, kas pievienoti čivināt, mēs vēlējāmies, lai lietotājam būtu skaidrs, kad ir pievienoti vairāki attēli, pat ja tie nav redzami rakstīšanas ekrānā.





Dizaina risinājums: izmantojiet animāciju, lai apzīmētu attēlus ārpus ekrāna

Ņemot vērā mūsu dizainu un mobilā ekrāna ierobežojumus, pievienotie attēli varēja atrasties ārpus ekrāna. Lai gan tas nav ideāli, tā bija nepieciešama koncesija, ņemot vērā atbalstītās funkcionalitātes blīvumu rakstīšanas ekrānā. Gadījumos, kad attēli faktiski tiek rādīti ārpus ekrāna, mēs nolēmām ieviest horizontālu “atlēciena” animāciju, kas norādītu, ka attēlu saraksts ir ritināms.




eņģeļa numurs 1015

Ieviešanas izvēle: ObjectAnimator + EasingInterpolator

Ir daudz mehānismu, kas atbalsta pamata animācijas operētājsistēmā Android. Dažiem nepieciešama konfigurācija kodā, citiem - xml. Izvēloties alternatīvas, mēs nolēmām piešķirt prioritāti atpakaļ savietojamībai (mēs atbalstām SDK versiju 15+), ieviešanas vienkāršībai un konfigurējamībai. Galu galā mēs nolēmām izmantot kombināciju ObjectAnimator un Interpolatora atvieglošana . Abus šos var konfigurēt Java kodā, kas galu galā ir draudzīgāks izstrādātājiem: Sintakse ir pazīstama, un animācijas loģiku var pilnībā definēt vienā vietā koda bāzē.



ObjectAnimator ir klase, ko nodrošina Android sistēma, kas ļauj mainīt skata rekvizītu. Tā kā ObjectAnimator noklusējuma interpolatora kustība nešķita dabiska mūsu lietošanas gadījumā, mēs nolēmām izmantot EasingInterpolator, kas ir ērta bibliotēka, kas nodrošina daudz dažādu interpolācijas modeļu.

android-bounce-animation-easing-sample

Atlekšanas animācijas kods

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(); }

Par laimi, kods, kas paredzēts šai uzvedībai, ir ļoti kodolīgs. 1. rindā mēs norādām, kā mēs vēlamies animēt targetView. Šajā gadījumā mēs vēlamies modificēt targetView rekvizītu “translationX”, kas ir skata x pozīcija pēc izkārtojuma. Mēs vēlamies animēt no 0dp nobīdes no sākotnējās pozīcijas uz 25dp nobīdi pa labi un galu galā atgriezties pie sākotnējā 0dp nobīdes.

2. rindā mēs norādām vēlamo interpolācijas veidu. Mēs spēlējāmies ar dažādiem interpolācijas modeļiem, bet galu galā nolēmām Ease.ELASTIC_IN_OUT vislabāk izskatījās mūsu lietošanas gadījumā.



HASHTAGS Android atlēcienu animācija rakstā

Lai iegūtu papildinformāciju par īpašuma animācijas atbalstīšanu operētājsistēmā Android, skatiet vietni Īpašuma animācijas izstrādātājs doc .



Animācija darbībā

Mēs patiešām priecājamies par mobilās rakstīšanas pieredzes atjauninājumiem. Virzoties uz priekšu, mēs plānojam turpināt bagātināt savu mobilo pieredzi ar atsaucīgām vizuālajām saskarnēm. Vai vēlaties strādāt pie mums pie šāda veida lietām? Nāc strādājiet ar mums mūsu Android mobilajā komandā!

Dalieties Ar Draugiem: