Aquí a hashtags , els nostres clients depenen de nosaltres per ajudar-los a gestionar de manera fiable el seu contingut de xarxes socials. Els clients de Sprout utilitzen les nostres aplicacions mòbils per a iOS i Android perquè puguin gestionar les seves aplicacions xarxes socials en moviment . Quan vam decidir actualitzar el nostre missatge d'Android Compose l'experiència per donar-hi suport publicació diverses imatges adjuntes a un tuit, volíem deixar clar a l’usuari quan s’han adjuntat diverses imatges, fins i tot quan no són visibles a la pantalla de redacció.

Solució de disseny: utilitzeu animació per indicar imatges fora de pantalla

Tenint en compte el nostre disseny i les restriccions d'una pantalla mòbil, era possible que les imatges adjuntes residissin fora de pantalla. Tot i que això no és ideal, era una concessió necessària donada la densitat de funcionalitats compatibles a la pantalla Redactar. De fet, en els casos en què les imatges no es mostren fora de pantalla, vam decidir implementar una animació horitzontal de 'rebot' que indiqués que la llista d'imatges es podia desplaçar.

Opció d’implementació: ObjectAnimator + EasingInterpolator

Hi ha molts mecanismes per donar suport a animacions bàsiques a Android. Alguns requereixen configuració en codi, altres en xml. En escollir entre alternatives, vam decidir prioritzar la compatibilitat amb la versió anterior (admetem la versió sdk 15+), la simplicitat d’implementació i la configurabilitat. En definitiva, vam decidir utilitzar una combinació de ObjectAnimator i EasingInterpolator . Tots dos es poden configurar en codi Java, que en última instància és més fàcil de desenvolupar: la sintaxi és familiar i la lògica d'animació es pot definir completament en una ubicació de la base de codis.



ObjectAnimator és una classe proporcionada pel framework Android que permet la modificació d'una propietat d'una vista. Com que el moviment de l’interpolador predeterminat per a ObjectAnimator no se sentia natural per al nostre cas d’ús, vam decidir utilitzar EasingInterpolator, que és una biblioteca útil que proporciona molts models d’interpolació diferents.


com aconseguir una paparra blava al perfil de Facebook

android-bounce-animation-easing-sample

Codi d'animació de rebot

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

Per sort, el codi per gestionar aquest comportament és molt concís. A la línia 1, especifiquem com volem animar el targetView. En aquest cas, volem modificar la propietat 'translationX' del targetView, que és la posició x de la vista després del disseny. Volem animar des d'un desplaçament de 0dp des de la posició inicial fins a un desplaçament de 25dp a la dreta i, finalment, tornar a l'offset original de 0dp.

A la línia 2, especifiquem el tipus d’interpolació que ens agradaria. Vam jugar amb diferents models d’interpolació, però finalment vam decidir que Facilitat.ELASTIC_IN_OUT semblava millor per al nostre cas d’ús.

HASHTAGS Animació de rebots Android a Redactar

Per obtenir més informació sobre com s'admet l'animació de propietats a Android, consulteu Desenvolupador d'animació de propietats doc .

Animació en Acció

Estem molt contents de les nostres actualitzacions de l’experiència de redacció per a mòbils. Per avançar, tenim previst continuar enriquint la nostra experiència mòbil amb interfícies visuals sensibles. T’interessa treballar aquest tipus de coses amb nosaltres? Vine treballa amb nosaltres al nostre equip mòbil Android.