การย้อนกลับที่คาดการณ์ได้เป็นผลมาจากการดำเนินการไปยังส่วนต่างๆ ด้วยท่าทางสัมผัส ซึ่งผู้ใช้ปัดกลับเพื่อดูตัวอย่างปลายทางของท่าทางสัมผัสการย้อนกลับก่อนที่จะดำเนินการให้เสร็จสมบูรณ์ ซึ่งจะช่วยให้ผู้ใช้ตัดสินใจได้ว่าจะดำเนินการต่อ หรือจะ "ยืนยัน" ท่าทางสัมผัสเพื่อกลับ หรือจะอยู่ในมุมมองปัจจุบัน
การกดย้อนกลับแบบคาดคะเนช่วยให้คุณได้รับประสบการณ์การไปยังส่วนต่างๆ ที่ราบรื่นและใช้งานง่ายยิ่งขึ้นขณะใช้การไปยังส่วนต่างๆ ด้วยท่าทางสัมผัส โดยใช้ประโยชน์จากภาพเคลื่อนไหวในตัวเพื่อแจ้งให้ผู้ใช้ทราบถึงผลลัพธ์ที่จะเกิดขึ้นจากการดำเนินการของตนเพื่อลดผลลัพธ์ที่ไม่คาดคิด
ใช้คําแนะนําการออกแบบในหน้านี้หากการออกแบบแอปของคุณกำหนดให้มีการนําทางกลับสําหรับการเปลี่ยนภาพและภาพเคลื่อนไหวที่กําหนดเองสําหรับช่วงสําคัญ
รองรับการย้อนกลับที่คาดการณ์ได้
การรองรับการย้อนกลับแบบคาดการณ์ใช้ได้ไม่ว่าจะใช้การนําทางกลับเริ่มต้นหรือที่กําหนดเอง หากคุณกำลังใช้การนำทางกลับที่เป็นค่าเริ่มต้น คุณสามารถเลือกใช้ฟีเจอร์นี้ได้อย่างง่ายดาย อ่านเพิ่มเติมเกี่ยวกับการรองรับการย้อนกลับแบบคาดการณ์
หลังจากเลือกใช้แล้ว แอปจะมีภาพเคลื่อนไหวในตัว เช่น ภาพเคลื่อนไหวสำหรับการกลับไปที่หน้าแรก ภาพเคลื่อนไหวข้ามกิจกรรม และภาพเคลื่อนไหวข้ามงาน
นอกจากนี้ คุณยังอัปเกรดการพึ่งพาคอมโพเนนต์ Material เป็น 1.10.0-alpha02 ขึ้นไปของ MDC Android เพื่อรับภาพเคลื่อนไหวของคอมโพเนนต์ Material ต่อไปนี้ได้ด้วย
ตรวจสอบว่าแอปรองรับการแสดงผลแบบเต็มหน้าจอ
การนำทางกลับแบบคาดการณ์จะคำนึงถึงส่วนแทรกของท่าทางสัมผัสที่ระบุไว้ในฟีเจอร์แบบเต็มหน้าจอเพื่อช่วยผู้ใช้ หลีกเลี่ยงการเพิ่มท่าทางสัมผัสหรือการลากเป้าหมายใต้บริเวณท่าทางสัมผัสเหล่านี้
แพลตฟอร์มแบบเต็มหน้าจอ
หากแอปสร้างทรานซิชันในแอปที่กําหนดเองสําหรับแพลตฟอร์มแบบเต็มหน้าจอ ให้ทําตามคำแนะนำการออกแบบนี้
ตัวอย่างด้านหลัง
เมื่อผู้ใช้ทำท่าทางสัมผัสย้อนกลับบนพื้นผิวแบบเต็มหน้าจอ พื้นที่ด้านในควรลดขนาดลงเมื่อท่าทางสัมผัสดำเนินไป ทันทีที่ผู้ใช้ผ่านเกณฑ์ คอมมิต เนื้อหาควรสลับไปยังสถานะถัดไปโดยใช้การค่อยๆ ผ่านเพื่อแจ้งให้ผู้ใช้ทราบถึงตำแหน่งที่ผู้ใช้จะดำเนินการ
การประมาณค่าในช่วง
Interpolator ที่ใช้ช่วยให้หน้าจอออกได้อย่างรวดเร็ว พารามิเตอร์คือ (.1, .1, 0, 1) ที่จะจับคู่กับอินเตอร์โพลเตอร์ที่ใช้สำหรับภาพเคลื่อนไหว SystemUI
ยกเลิกการดำเนินการ
หากผู้ใช้ปล่อยท่าทางสัมผัสในสถานะไม่ดำเนินการ เนื้อหาจะกลับมาอย่างรวดเร็วและปรับขนาดกลับเป็นสถานะและขนาดเดิมก่อนที่จะเริ่มท่าทางสัมผัส เป็นการเลิกทำการเปลี่ยนแปลงสถานะ
ข้อมูลจำเพาะด้านการเคลื่อนไหว
พารามิเตอร์ |
ค่าเริ่มต้น |
ค่าเป้าหมาย |
บริบท |
---|---|---|---|
มาตราส่วนการออก |
100% |
90% |
|
ป้อนมาตราส่วน |
110% |
100% |
|
เฟดออก |
100% |
0% |
ค่อยๆ จางเป็นค่าเป้าหมายเมื่อความคืบหน้าถึงเกณฑ์ 35% |
ฟีเจอร์ "Enter Fade" |
0% |
100% |
เข้าสู่โหมดเริ่มจางลงเมื่อเกณฑ์ความคืบหน้าอยู่ที่ 35% |
การเปลี่ยนองค์ประกอบแบบใช้ร่วมกัน
หากแอปสร้างการเปลี่ยนที่กำหนดเองในแอปสำหรับการเปลี่ยนองค์ประกอบที่แชร์ ให้ใช้คำแนะนำในการออกแบบต่อไปนี้
เมื่อผู้ใช้ทำท่าทางสัมผัสเพื่อกลับไปยังองค์ประกอบที่แชร์ พื้นผิวจะแยกออกจากขอบของหน้าจออย่างสมบูรณ์ในระหว่างการแสดงตัวอย่างการกลับ และผู้ใช้สามารถจัดการพื้นผิวนั้นโดยตรง อย่างไรก็ตาม การออกแบบไม่ควรสื่อให้ผู้ใช้เห็นว่าการทำท่าทางสัมผัสเพื่อย้อนกลับจนเสร็จสิ้นจะเป็นการปิดรายการในทิศทางของท่าทางสัมผัสเพื่อย้อนกลับ
ตัวอย่างเช่น คุณสามารถใช้ทรานซิชันขององค์ประกอบที่แชร์เมื่อปิดหน้าจอรายละเอียดกลับไปที่รายการแนวตั้งเพื่อบอกเป็นนัยให้ผู้ใช้ทราบว่ากำลังยกเลิกการดำเนินการก่อนหน้า ในวิดีโอ 3 ระบบจะปิดกิจกรรมในปฏิทินกลับไปที่มุมมองวัน การออกแบบเพิ่มการกระเด้งเล็กน้อยเพื่อดูดซับแรงสปริงบางส่วนที่สร้างขึ้นระหว่างการใช้ท่าทางสัมผัส เพื่อปรับปรุงการสัมผัส
แสดงตัวอย่างเพลงในเบื้องหลัง
เมื่อแสดงภาพเคลื่อนไหวแบบคาดคะเนต่อผู้ใช้ สถานะก่อนดำเนินการซึ่งแอปวัดไว้เมื่อผู้ใช้ได้ทำท่าทางสัมผัสแบบย้อนกลับแบบไร้ขอบ แต่ไม่ได้คอมมิตด้วยการปล่อยนิ้วออก คุณต้องระบุพารามิเตอร์ที่ใช้กับสถานะก่อนการคอมมิตนี้
ปริมาณการเคลื่อนไหวที่แสดงจะขึ้นอยู่กับระยะทางไกลที่สุดที่ผู้ใช้สามารถเคลื่อนไหวได้จากตำแหน่งที่เริ่มทำท่าทาง
ข้อมูลจำเพาะของการเคลื่อนไหว
การเปลี่ยนองค์ประกอบที่แชร์จะได้รับผลกระทบโดยตรงจากการเปลี่ยน X และ Y จากจุดเริ่มต้นของท่าทางสัมผัส ส่วนนี้จะอธิบายข้อกําหนดและค่าที่ควบคุมกลไกที่ใช้สําหรับการแสดงผลบนหน้าจอ
ตัวเลขต่อไปนี้แสดงข้อกำหนดการเคลื่อนไหวที่แนะนำสำหรับภาพเคลื่อนไหวบนพื้นผิว
1 ระยะขอบ: 5% ของความกว้างในแต่ละด้าน (เกี่ยวข้องกับพื้นที่ผิวที่อธิบายไว้ใน 3)
2 การเปลี่ยนแปลงที่คำนวณหากปรับขนาดหน้าต่างไปยังจุดกึ่งกลาง คำนวณระยะขอบ 8dp ที่จำเป็น: ((ความกว้างหน้าจอ / 20) - 8) dp
3 พื้นผิวจะปรับขนาดเป็น 90% โดยเหลือขอบ 10% (ดู 1)
4 เว้นระยะห่าง 8 dp จากขอบหน้าจอ
เราขอแนะนำให้ใช้พารามิเตอร์ที่ระบุไว้เพื่อให้ได้รับประสบการณ์การใช้งานที่สอดคล้องกัน แต่คุณก็เปลี่ยนแปลงข้อกำหนดเฉพาะเพื่อสร้างภาพเคลื่อนไหวที่กำหนดเองได้
ในรูปก่อนหน้า ความกว้างของหน้าจอคือ 1280 ซึ่งทำให้ค่า X-shift เป็น 56 dp สูตรคำนวณคือ
((1280/20)-8)= 56 dp x-shift
1 ระยะห่างระหว่างขอบและระยะขอบของอุปกรณ์ที่พร้อมใช้งานสำหรับการเลื่อนในแนวตั้ง
2 หากพื้นผิวเลื่อนออกไปนอกหน้าจอ ให้ปรับขนาดพื้นผิวให้เล็กลงไม่เกิน 50%
2 พื้นผิวเริ่มต้นที่กึ่งกลางแนวตั้ง โดยมีการกําหนดค่า y-shift ดังนี้
- จำกัดการเลื่อนตามแนวตั้งเพื่อไม่ให้พื้นผิวเลยขอบหน้าจอ 8 dp
- หากไม่ต้องการให้พื้นผิวหยุดกะทันหัน ให้ใช้ตัวอินเทอร์โพเลเตอร์การลดความเร็วและจับคู่กับขีดจำกัดการเลื่อนในแนวตั้ง
3 คงระยะขอบ 8 dp ไว้เมื่อพื้นผิวสั้นพอ
สำหรับภาพเคลื่อนไหวที่กําหนดเอง คุณต้องกําหนดพารามิเตอร์ต่อไปนี้ทั้งหมด
พารามิเตอร์ |
ค่า |
บริบท |
---|---|---|
เปลี่ยนตำแหน่งตามแกน X |
((screen width / 20) - 8) dp |
เลื่อนสูงสุดโดยเว้นระยะขอบ 8dp |
Y Shift |
((ความสูงของหน้าจอที่ใช้ได้ / 20) -8) dp |
เลื่อนสูงสุดโดยเว้นระยะขอบ 8dp |
สเกล |
90% |
ขนาดหน้าต่างขั้นต่ำ |
นักพัฒนาซอฟต์แวร์ที่ใช้ภาพเคลื่อนไหวที่กําหนดเองโดยใช้ Predictive Back Progress API จะใช้พารามิเตอร์เหล่านี้
การประมาณความคืบหน้าของท่าทางสัมผัส
ค่าความคืบหน้าเชิงเส้นสามารถมาจากท่าทางสัมผัสของผู้ใช้ แต่ไม่ควรนำไปใช้กับภาพเคลื่อนไหวตัวอย่างโดยตรง แต่ควรปรับความคิดเห็นให้เหมาะกับสิ่งที่เป็นประโยชน์ต่อผู้ใช้ในระหว่างการย้อนกลับ ป้อนความคืบหน้าด้วย
โทเค็น STANDARD_DECELERATE
หรือ PathInterpolator(0f, 0f, 0f, 1f) เพื่อให้แสดงท่าทางสัมผัสได้ชัดเจนมากขึ้นในช่วงเริ่มต้น ซึ่งจะช่วยเพิ่มประสิทธิภาพการตรวจจับการเคลื่อนไหวในช่วงเริ่มต้นของท่าทางสัมผัส และใช้การลดความเร็วเพื่อควบคุมการตอบกลับในลักษณะที่ชัดเจนและน่าพอใจ
มุ่งมั่นที่จะดำเนินการ
เมื่อผู้ใช้ทำท่าทางผ่านจุดคอมมิตและปล่อยนิ้ว ภาพเคลื่อนไหวจะปรากฏขึ้นเพื่อยืนยันว่าการทำงานดังกล่าวเสร็จสิ้น
เมื่อผู้ใช้ทำท่าทางสัมผัสอย่างรวดเร็ว ระบบมักจะตีความว่าเป็นการหมุน การโต้ตอบประเภทนี้อาจใช้ความเร็วสูงกับองค์ประกอบบนหน้าจอ ดังนั้นในบริบทของการแสดงตัวอย่างย้อนกลับ ระบบจะดูดซับความเร็วนั้นโดยทำให้พื้นผิวเคลื่อนไหวไปยังสถานะการแสดงตัวอย่างสูงสุดเป็นระยะเวลาสั้นๆ ก่อนแสดงภาพเคลื่อนไหวของการดำเนินการ
ความแรงของการสะบัดจะเป็นตัวกำหนดจำนวนภาพเคลื่อนไหวตัวอย่างที่จะแสดงก่อนเรียกใช้ภาพเคลื่อนไหวของการคอมมิต ประเภทของภาพเคลื่อนไหวที่แสดงจะขึ้นอยู่กับเนื้อหาที่ปิดอยู่ ดังที่แสดงในวิดีโอ 2
ยกเลิกการดำเนินการ
วิดีโอ 6 แสดงตัวอย่างสิ่งที่จะเกิดขึ้นเมื่อผู้ใช้เผยแพร่ก่อนเกณฑ์ แสดงภาพเคลื่อนไหวที่ยืนยันว่าการดำเนินการถูกยกเลิกแล้ว สำหรับการเปลี่ยนองค์ประกอบที่แชร์ หน้าต่างจะเคลื่อนไหวอย่างรวดเร็วและปรับขนาดกลับเป็นสถานะเต็มหน้าจอเดิมก่อนที่จะเริ่มใช้ท่าทางสัมผัส