คำนำ
ใช้เมนูที่เมนูปรากฏขึ้นจากด้านบนแล้วหายไปจากด้านล่าง เมื่อด้านบนปรากฏขึ้นจะมีกระบวนการเขย่าขึ้นและลง เมื่อด้านล่างหายไปให้เลื่อนขึ้นก่อนจากนั้นเลื่อนลงแล้วหายไป
การเรนเดอร์มีดังนี้:
แนะนำการพึ่งพา
การใช้งาน 'com.android.support:support-dynamic-imation:27.1.1'1
การสร้างพ่ายแพ้ต้องใช้พารามิเตอร์สามตัว
•มุมมองภาพเคลื่อนไหว
•ประเภท Dynamicanimation
AlpharotationRotation_xrotation_yscale_xscale_yscroll_xscroll_ytranslation_xtranslation_ytranslation_zxyz
แผนภาพ GIF ด้านบนเป็นแผนภาพตัวอย่างที่มีการแปลแบบไดนามิก ตอนนี้เราตั้งค่าพารามิเตอร์เป็นการหมุน
SpringAnimation SignupBtNanimy = NEW SpringAnimation (ConstraintLayout, DynamicAnimation.Rotation, 0);
การเรนเดอร์มีดังนี้:
- ตำแหน่งสุดท้ายสำหรับการสร้างภาพเคลื่อนไหว
ออฟเซ็ตสัมพันธ์กับตำแหน่งปัจจุบันของมุมมอง
ฤดูใบไม้ผลิ
เพื่อให้แอนิเมชั่นราบรื่นและสปริงต้องตั้งค่าพารามิเตอร์ที่เกี่ยวข้องกับ SpringForce
- ความแข็ง
นั่นคือความแข็ง ยิ่งค่านี้มีขนาดใหญ่เท่าใดก็ยิ่งมีส่วนในที่มากขึ้นเท่าใดก็ยิ่งเอฟเฟกต์ยืดหยุ่นน้อยลงในแอนิเมชั่นและการเคลื่อนไหวที่เร็วขึ้นเท่านั้น
Stiffness_highstiftness_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 (). setdampingratio (Springforce.damping_ratio_medium_bouncy);
startvelocity
ความเร็วเริ่มต้นความเร็วเริ่มต้นคือ 0 และหน่วยคือ PX/วินาที
รหัสโดยรวมมีดังนี้:
•แสดงภาพเคลื่อนไหวเมนู
โมฆะสาธารณะ showanimal () {setVisability (view.visible); SPRENAMANITION SIGNUPBTNANINIMY = NEW SpringAnimation (ConstraintLayout, DynamicAnimation.translation_y, 0); signupbtnanimy.getspring (). setstiffness (Springforce.stiffness_low); signupbtnanimy.getspring (). setdampingratio (Springforce.damping_ratio_medium_bouncy); SignupBtNanimy.SetStartVelocity (5,000); SignupBtNanimy.start (); -•ซ่อนแอนิเมชั่นเมนู
โมฆะสาธารณะ hideanimal () {ความสูง = (screentools.getScreenheight (getContext ()) - ConstraintLayout.Getheight ()) / 2 + ConstraintLayout.getheight () + screentools.dp2px (getContext (), 50); วัตถุแอนิเมชั่นวัตถุแอนิเมชั่น = ObjectAnimator.Offloat (ConstraintLayout, "แปล", 0f, -100f, ความสูง); Animator.setDuration (600); Animator.setInterpolator (ใหม่ DecelerateInterpolator ()); Animator.AddListener (ใหม่ animatorListenerAdapter () {@Override โมฆะสาธารณะ onAnimationend (แอนิเมชั่นแอนิเมชั่น) {super.onAnimationend (แอนิเมชั่น); setVisibility (หายไป); relayout ();}}); Animator.start (); - ซอร์สโค้ด: https://github.com/lsnumber1/studyspringanimation
สรุป
ด้านบนเป็นเมนูการใช้งาน SpringAnimation จะปรากฏขึ้นจากด้านบนและหายไปจากด้านล่าง ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!