ตัวอย่าง MotionLayout

เอกสารนี้มีตัวอย่างวิธีใช้ MotionLayout แต่ละตัวอย่างจะมีวิดีโอสาธิตการเคลื่อนที่ พร้อมกับ สำหรับฉากและเลย์เอาต์การเคลื่อนไหว

การเคลื่อนไหวพื้นฐาน

ตัวอย่างนี้มีมุมมองเดียวที่คุณสามารถแตะแล้วลากเพื่อย้าย ในแนวนอน

รูปที่ 1 การลากมุมมอง

แอตทริบิวต์ที่กำหนดเอง - backgroundColor

ตัวอย่างนี้คล้ายกับตัวอย่างการเคลื่อนไหวพื้นฐาน นอกจาก การเคลื่อนไหวพื้นฐาน สีพื้นหลังของมุมมองจะเปลี่ยนไปเมื่อมุมมองเคลื่อนที่

รูปที่ 2 การลากมุมมองขณะที่มุมมอง การเปลี่ยนสีพื้นหลัง

ImageFilterView - การเปลี่ยนรูปภาพ

ตัวอย่างนี้แสดงวิธีเปลี่ยนค่าความอิ่มตัวของ ImageFilterView

รูปที่ 3 การลากรูปภาพขณะที่ ความอิ่มตัวเปลี่ยนไป

ตำแหน่งคีย์เฟรม

ตัวอย่างนี้ใช้ <KeyFrameSet> เพื่อเปลี่ยนตำแหน่ง Y ของมุมมองระหว่าง ภาพเคลื่อนไหว

รูปที่ 4 การลากมุมมองและปรับเปลี่ยน ตำแหน่ง Y

การประมาณค่าในช่วงคีย์เฟรม

ตัวอย่างนี้สร้างขึ้นจากตัวอย่างตำแหน่งคีย์เฟรม การเพิ่มการหมุนและการปรับขนาดให้กับการเปลี่ยนมุมมอง

รูปที่ 5 การลากมุมมองและปรับเปลี่ยน ตำแหน่ง Y, การหมุน และการปรับขนาด

รอบคีย์เฟรม

ตัวอย่างนี้เพิ่มองค์ประกอบ <KeyCycle> เพื่อเพิ่มการเคลื่อนไหวแบบคลื่นให้กับมุมมอง

รูปที่ 6 การลากมุมมองที่เหมือนคลื่น การเคลื่อนไหวพร้อมปรับสี

CoordinatorLayout (1/2)

ตัวอย่างนี้จะเพิ่ม MotionLayout ลงใน AppBarLayout ที่มีอยู่เพื่อเพิ่มการเคลื่อนไหว กับแถบแอป ตัวอย่างนี้มีอธิบายเพิ่มเติมใน ข้อมูลเบื้องต้นเกี่ยวกับ MotionLayout (ตอนที่ 3)

รูปที่ 7 การเลื่อนเนื้อหาขณะใช้แอป แถบจะขยาย

CoordinatorLayout (2/2)

ตัวอย่างนี้จะเพิ่ม MotionLayout ลงใน AppBarLayout ที่มีอยู่เพื่อเพิ่มการเคลื่อนไหว กับแถบแอป

รูปที่ 8 การเลื่อนเนื้อหาขณะใช้แอป แถบจะขยายและมีข้อความเคลื่อนไหวเข้าและออกจากแถบแอป

เลย์เอาต์ลิ้นชัก (1/2)

ตัวอย่างนี้แสดงวิธีเพิ่มการเคลื่อนไหวไปยัง DrawerLayout ตัวอย่างนี้คือ อธิบายเพิ่มเติมใน ข้อมูลเบื้องต้นเกี่ยวกับ MotionLayout (ตอนที่ 3)

รูปที่ 9 กำลังขยาย "เลย์เอาต์ลิ้นชัก"

เลย์เอาต์ลิ้นชัก (2/2)

ตัวอย่างนี้แสดงวิธีเพิ่มการเคลื่อนไหวไปยัง DrawerLayout

รูปที่ 10 การขยาย "DrawerLayout" ด้วย ข้อความเมนูแบบเคลื่อนไหว

แผงด้านข้าง

ตัวอย่างนี้แสดงวิธีแสดงแผงด้านข้างเมื่อลากเนื้อหาหลัก พื้นที่ด้านขวา

รูปที่ 11 แสดงแผงด้านข้างโดยการลาก เนื้อหาหลัก

พารัลแลกซ์

ตัวอย่างนี้แสดงพื้นหลังพารัลแลกซ์โดยที่มีพื้นหลังแตกต่างกัน เลเยอร์ต่างๆ เคลื่อนไหวด้วยความเร็วที่ต่างกัน

รูปที่ 12 เอฟเฟกต์พารัลแลกซ์ในส่วนหัว รูปภาพ

ดูเพจเจอร์

ตัวอย่างนี้แสดงวิธีการเพิ่มการเคลื่อนไหวเมื่อเลื่อนระหว่าง ViewPager แท็บ ตัวอย่างนี้มีอธิบายเพิ่มเติมใน ข้อมูลเบื้องต้นเกี่ยวกับ MotionLayout (ตอนที่ 3)

รูปที่ 13 เอฟเฟกต์พารัลแลกซ์ในส่วนหัว ขณะปัด "ViewPager"

ViewPager - ล็อตเตอรี่

ตัวอย่างนี้แสดงวิธีการเพิ่มการเคลื่อนไหวเมื่อเลื่อนระหว่าง ViewPager แท็บ

รูปที่ 14 รูปภาพแสดงเอฟเฟกต์ล็อตตี้ ในรูปภาพส่วนหัวขณะปัด "ViewPager"

การเคลื่อนไหวที่ซับซ้อน (1/3)

ตัวอย่างนี้รวมองค์ประกอบจากตัวอย่างก่อนหน้านี้เข้าด้วยกันเพื่อแสดงความซับซ้อน ภาพเคลื่อนไหว

รูปที่ 15 การรวมเอฟเฟกต์ในการสร้างสรรค์ ของการเคลื่อนไหวที่ซับซ้อน

การเคลื่อนไหวที่ซับซ้อน (2/3)

ตัวอย่างนี้รวมองค์ประกอบจากตัวอย่างก่อนหน้านี้เข้าด้วยกันเพื่อแสดงความซับซ้อน ภาพเคลื่อนไหว

รูปที่ 16 การรวมเอฟเฟกต์ในการสร้างสรรค์ ของการเคลื่อนไหวที่ซับซ้อน

การเคลื่อนไหวที่ซับซ้อน (3/3)

ตัวอย่างนี้รวมองค์ประกอบจากตัวอย่างก่อนหน้านี้เข้าด้วยกันเพื่อแสดงความซับซ้อน ภาพเคลื่อนไหว

รูปที่ 17 การรวมเอฟเฟกต์ในการสร้างสรรค์ ของการเคลื่อนไหวที่ซับซ้อน

การเปลี่ยน Fragment (1/2)

ตัวอย่างนี้แสดงวิธีใช้ MotionLayout เพื่อเปลี่ยนไปมาระหว่าง ส่วนย่อย

รูปที่ 18 การเปลี่ยน Fragment

การเปลี่ยน Fragment (2/2)

ตัวอย่างนี้แสดงวิธีใช้ MotionLayout เพื่อเปลี่ยนไปมาระหว่าง ส่วนย่อย

รูปที่ 19 การเปลี่ยน Fragment

ภาพเคลื่อนไหวที่คล้ายกับ YouTube

ตัวอย่างนี้แสดงให้เห็นการเปลี่ยนไปมาระหว่างมุมมองแบบกะทัดรัดกับแบบเต็มหน้าจอ กับเนื้อหาเพิ่มเติม

รูปที่ 20 การเปลี่ยน Fragment คล้ายกับ YouTube

ทริกเกอร์คีย์

ตัวอย่างนี้แสดงวิธีแสดงและซ่อนปุ่มการทำงานแบบลอย การเปลี่ยนผ่านเกณฑ์ความคืบหน้า

รูปที่ 21 แสดงและซ่อนการดำเนินการแบบลอย

หลายรัฐ

ตัวอย่างนี้แสดงวิธีใช้สถานะเพื่อกําหนดการเคลื่อนไหวที่จะใช้

รูปที่ 22 การเคลื่อนไหวที่แตกต่างกันตามสถานะ