여기에 해시 태그 , 우리 고객은 소셜 미디어 콘텐츠를 안정적으로 관리 할 수 ​​있도록 우리에게 의존합니다. Sprout 고객은 모바일 iOS 및 Android 애플리케이션을 사용하여 이동 중 소셜 미디어 . 지원을 위해 Android 메시지 작성 환경을 업데이트하기로 결정했을 때 출판 트윗에 여러 이미지가 첨부 된 경우, 작성 화면에 표시되지 않는 경우에도 여러 이미지가 첨부 된 경우 사용자에게 명확하게 전달하고자했습니다.



디자인 솔루션 : 애니메이션을 사용하여 오프 스크린 이미지 표시

우리의 디자인과 모바일 화면의 제약을 감안할 때 첨부 된 이미지가 화면 밖에있을 수 있습니다. 이것은 이상적이지는 않지만 작성 화면에서 지원되는 기능의 밀도를 고려할 때 필요한 양보였습니다. 이미지가 실제로 화면 밖에있는 경우 이미지 목록을 스크롤 할 수 있음을 나타내는 수평 '바운스'애니메이션을 구현하기로 결정했습니다.



구현 선택 : ObjectAnimator + EasingInterpolator

Android에서 기본 애니메이션을 지원하는 많은 메커니즘이 있습니다. 일부는 코드로 구성하고 다른 일부는 xml로 구성해야합니다. 대안을 선택할 때 이전 버전과의 호환성 (SDK 버전 15 이상 지원), 구현의 단순성 및 구성 가능성을 우선시하기로 결정했습니다. 궁극적으로 우리는 ObjectAnimatorEasingInterpolator . 이 두 가지 모두 Java 코드로 구성 할 수 있으며, 이는 궁극적으로 개발자에게 더 친숙합니다. 구문은 친숙하며 애니메이션 논리는 코드베이스의 한 위치에서 완전히 정의 될 수 있습니다.


808의 의미

ObjectAnimator는보기의 속성을 수정할 수 있도록 Android 프레임 워크에서 제공하는 클래스입니다. ObjectAnimator에 대한 기본 보간 기의 움직임이 우리 사용 사례에 자연스럽게 느껴지지 않았기 때문에 우리는 다양한 보간 모델을 제공하는 편리한 라이브러리 인 EasingInterpolator를 사용하기로 결정했습니다.

android-bounce-animation-easing-sample

바운스 애니메이션 코드

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

다행히도이 동작을 처리하는 코드는 매우 간결합니다. 1 행에서는 targetView를 애니메이션하는 방법을 지정합니다. 이 경우 레이아웃 후 뷰의 x-position 인 targetView의“translationX”속성을 수정하고자합니다. 초기 위치에서 오프셋 0dp에서 오른쪽으로 25dp 오프셋까지 애니메이션을 적용하고 궁극적으로 원래 오프셋 인 0dp로 돌아오고 싶습니다.

2 행에서는 원하는 보간 유형을 지정합니다. 우리는 다른 보간 모델을 가지고 놀았지만 궁극적으로 Ease를 결정했습니다. ELASTIC_IN_OUT은 우리의 사용 사례에 가장 적합합니다.

Compose의 HASHTAGS Android 바운스 애니메이션

Android에서 속성 애니메이션을 지원하는 방법에 대한 자세한 내용은 Property Animation 개발자 문서 .



액션 애니메이션

모바일 편지 쓰기 환경에 대한 업데이트에 대해 정말 기쁘게 생각합니다. 앞으로도 우리는 반응 형 시각적 인터페이스로 모바일 경험을 지속적으로 향상시킬 계획입니다. 이런 종류의 작업에 관심이 있으십니까? 왔다 우리와 함께 일하세요 Android 모바일 팀에서!


천사 번호 1221 의미

친구들과 공유하십시오: