머리말
메뉴가 상단에서 튀어 나오는 메뉴를 구현 한 다음 하단에서 사라집니다. 상단이 들어 오면 위아래로 흔들리는 과정이 있습니다. 바닥이 사라지면 먼저 위로 밀고 아래로 밀고 사라집니다.
렌더링은 다음과 같습니다.
종속성을 소개합니다
구현 'com.android.support:support-dynamic-animation:27.1.1'1
SpringAnimation을 생성하려면 세 가지 매개 변수가 필요합니다.
• 애니메이션보기
• Dynamicanimation 유형
alpharotationRotation_xrotation_yscale_xscale_yscroll_xscroll_ytranslation_xtranslation_ytranslation_zxyz
위의 GIF 다이어그램은 Dynamicanimation Translation_y가있는 미리보기 다이어그램입니다. 이제 매개 변수를 회전으로 설정했습니다.
SpringAnimation signupbtnanimy = 새로운 SpringAnimation (제한가, dynamicanimation.rotation, 0);
렌더링은 다음과 같습니다.
- 애니메이션을 만드는 최종 위치
뷰의 현재 위치에 대한 오프셋.
스프링 포스
애니메이션을 부드럽고 스프링하기 위해서는 Springforce 관련 매개 변수를 설정해야합니다.
- 강성
즉, 강성. 이 값이 클수록 내부 부분이 크게 생성 될수록 애니메이션의 탄성 효과가 덜 명백하고 움직임이 더 빨라집니다.
Stiftness_highstiffness_lowstiffness_mediumstiffness_very_low
설정 방법은 다음과 같습니다.
signupbtnanimy.getSpring (). setStiffness (springforce.stiffness_low);
• Dampingratio 감쇠 비율
즉, 감쇠 비율,이 값이 클수록 스프링 효과가 더 빨라집니다.
damping_ratio_high_bouncydamping_ratio_low_bouncydamping_ratio_medium_bouncydamping_ratio_no_bouncy
설정 방법은 다음과 같습니다.
signupbtnanimy.getSpring (). setDampingRatio (springforce.damping_ratio_medium_bouncy);
스타트 벨로 티
시작 속도, 기본 속도는 0이고 장치는 PX/Second입니다.
전체 코드는 다음과 같습니다.
• 메뉴 애니메이션 표시
public void showanimal () {setvisibility (view.visible); SpringAnimation signupbtnanimy = 새로운 SpringAnimation (제한가, dynamicanimation.translation_y, 0); signupbtnanimy.getSpring (). setStiffness (springforce.stiffness_low); signupbtnanimy.getSpring (). setDampingRatio (springforce.damping_ratio_medium_bouncy); signupbtnanimy.setstartvelocity (5000); signupbtnanimy.start (); }• 메뉴 애니메이션을 숨 깁니다
public void hideanimal () {height = (screantools.getScreenHeight (getContext ()) -SrantaintLayout.getheight ()) / 2 + chanstaintlayout.getheight () + screentools.dp2px (getContext (), 50); ObjectAnimator Animator = Objectanimator.offloat (제한가, "Translationy", 0f, -100f, 높이); Animator.SetDuration (600); Animator.setInterPolator (new decelerateInterPolator ()); animator.addlistener (new AnimatorListenerAdapter () {@override public void onanimationEnd (Animator Animation) {super.onAnimationEnd (animation); setvisibility (GONE); Relayout ();}}); animator.start (); } 소스 코드 : https://github.com/lsnumber1/studyspringanimation
요약
위는 Springanimation 구현 메뉴가 상단에서 팝업되어 맨 아래에서 사라집니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!