مقدمة
قم بتنفيذ قائمة حيث تنبثق القائمة من الأعلى ثم تختفي من الأسفل. عندما تنبثق الجزء العلوي ، هناك عملية تهتز لأعلى ولأسفل. عندما يختفي القاع ، انزلق أولاً ، ثم انزلق لأسفل ثم يختفي.
العروض كما يلي:
إدخال التبعيات
تنفيذ 'com.android.support:Support-dynamic-animation:27.1.1'1
يتطلب إنشاء SpringAnimation ثلاث معلمات.
• عرض الرسوم المتحركة
• نوع Dynamicanimation
alpharotationrotation_xrotation_yscale_xscale_yscroll_xscroll_ytranslation_xtranslation_ytranslation_zxyz
مخطط GIF أعلاه هو مخطط معاينة مع ترجمة Dynamicanimation. الآن قمنا بتعيين المعلمة على الدوران.
SPRINGANIMATION Signupbtnanimy = new SpringAnimation (constraintlayout ، dynamicanimation.rotation ، 0) ؛
العروض كما يلي:
- الموقع النهائي لإنشاء الرسوم المتحركة
الإزاحة بالنسبة إلى الموضع الحالي للمنظر.
Springforce
من أجل جعل الرسوم المتحركة سلسة ونابضة ، يجب ضبط المعلمات ذات الصلة Springforce.
- الصلابة
هذا هو ، الصلابة. كلما زادت هذه القيمة ، كلما زاد الجزء الداخلي الذي تم إنتاجه ، كلما كان التأثير المرن في الرسوم المتحركة أقل وضوحًا ، وأسرع الحركة.
SISTINCESS_HIGHSTIFFNESS_LOWSTIFFNESS_MEDIUMSTIFFNESS_VERY_LOW
طريقة الإعداد هي:
signupbtnanimy.getSpring (). setStiffness (springforce.stiffness_low) ؛
• نسبة التخميد التخميد
وهذا هو ، نسبة التخميد ، كلما زادت هذه القيمة ، كلما توقف تأثير الربيع بشكل أسرع
damping_ratio_high_bouncydamping_ratio_low_bouncydamping_ratio_medium_bouncydamping_ratio_no_bouncy
طريقة الإعداد هي:
signupbtnanimy.getSpring ().
startVelocity
سرعة بدء التشغيل ، والسرعة الافتراضية هي 0 ، والوحدة هي px/ثانية.
الرمز الكلي على النحو التالي:
• إظهار الرسوم المتحركة القائمة
public void showanimal () {setVisibility (view.visible) ؛ SPRINGANIMATION Signupbtnanimy = new SpringAnimation (constraintlayout ، dynamicanimation.translation_y ، 0) ؛ signupbtnanimy.getSpring (). setStiffness (springforce.stiffness_low) ؛ signupbtnanimy.getSpring (). signupbtnanimy.setStartVelocity (5000) ؛ signupbtnanimy.start () ؛ }• إخفاء الرسوم المتحركة القائمة
public void hideanimal () {height = (screentools.getScreenheight (getContext ()) - constrentlayout.getheight ()) / 2 + constrentlayout.getheight () + screentools.dp2px (getContext () ، 50) ؛ ObjectAnimator animator = objectAnimator.offloat (constraintlayout ، "translation" ، 0f ، -100f ، height) ؛ الرسوم المتحركة. animator.setInterPolator (New DelerateInterPolator ()) ؛ Animator.AddListener (new AnimatorListenerAdapter () {Override public void onanimationEnd (الرسوم المتحركة الرسوم المتحركة) {super.OnanimationEnd (الرسوم المتحركة) ؛ setVisibility (Gone) ؛ relayout () ؛}}) ؛ الرسوم المتحركة. ستارت () ؛ } رمز المصدر: https://github.com/lsnumber1/studyspringanimation
لخص
ما سبق هو قائمة تنفيذ SpringAnimation تنبثق من الأعلى وتختفي من القاع. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!