สำหรับ Android 10 (API ระดับ 29) ขึ้นไป ระบบ Android จะรองรับ การนำทางโดยใช้ท่าทางสัมผัส มี 2 สิ่งที่นักพัฒนาแอปต้องทำเพื่อให้แน่ใจว่า แอปของพวกเขาทำงานร่วมกับฟีเจอร์นี้ได้
- ขยายเนื้อหาแอปจากขอบหนึ่งไปอีกขอบหนึ่ง
- จัดการท่าทางสัมผัสของแอปที่ขัดแย้งกัน
นอกจากนี้ Android 13 (API ระดับ 33) ยังได้เปิดตัวความสามารถ ท่าทางสัมผัสการย้อนกลับแบบคาดเดาสำหรับ Android อุปกรณ์อย่างโทรศัพท์ หน้าจอขนาดใหญ่ และอุปกรณ์แบบพับได้ ซึ่งเป็นส่วนหนึ่งของ นักพัฒนาแอปสามารถทำตามขั้นตอนเพื่อดูแลให้แอปของตนรองรับ ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้
มอบเนื้อหาของแอปแบบไร้ขอบเขต
ใช้ประโยชน์จากพื้นที่หน้าจอเพิ่มเติมที่มีให้ใช้งานแบบลอย คุณต้องกำหนดค่าการเปลี่ยนแปลงบางอย่างในแอปด้วย
ดูแสดงเนื้อหาแบบขอบต่อขอบในแอป เพื่อดูรายละเอียด
จัดการท่าทางสัมผัสของแอปที่ขัดแย้งกัน
โมเดลการนำทางด้วยท่าทางสัมผัสอาจขัดแย้งกับท่าทางสัมผัสที่ใช้ก่อนหน้านี้ ที่นักพัฒนาแอปใช้ คุณอาจต้องทำการปรับเปลี่ยนผู้ใช้แอป ของอินเทอร์เฟซ
ขัดแย้งกับท่าทางสัมผัสย้อนกลับ
ท่าทางสัมผัสใหม่ของระบบสำหรับการย้อนกลับคือการเลื่อนขาเข้าจากด้านซ้ายหรือ
ที่ขอบด้านขวาของหน้าจอ ซึ่งอาจรบกวนองค์ประกอบการไปยังส่วนต่างๆ ของแอปใน
พื้นที่เหล่านั้น เพื่อรักษาฟังก์ชันการทำงานขององค์ประกอบที่ขอบด้านซ้ายและขวา
ของหน้าจอ ให้เลือกไม่ใช้ท่าทางสัมผัสการย้อนกลับเฉพาะโดยการระบุให้
ว่าภูมิภาคใดต้องได้รับการป้อนข้อมูลด้วยการสัมผัส ซึ่งคุณสามารถทำได้โดยการส่ง
List<Rect>
ไปยัง View.setSystemGestureExclusionRects()
API ที่เปิดตัวใน Android 10 วิธีการนี้มีให้บริการใน ViewCompat
เช่นกัน ตั้งแต่
androidx.core:core:1.1.0-dev01
เช่น
Kotlin
var exclusionRects = listOf(rect1, rect2, rect3) fun onLayout( changedCanvas: Boolean, left: Int, top: Int, right: Int, bottom: Int) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects) } fun onDraw(canvas: Canvas) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects) }
Java
List<Rect> exclusionRects; public void onLayout( boolean changedCanvas, int left, int top, int right, int bottom) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects); } public void onDraw(Canvas canvas) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects); }
ขัดแย้งกับท่าทางสัมผัส "อยู่บ้าน" หรือ "เปลี่ยนอย่างรวดเร็ว"
ท่าทางสัมผัสของระบบใหม่สำหรับโหมดอยู่บ้านและสวิตช์ด่วนต้องใช้การปัดที่ ด้านล่างของหน้าจอในพื้นที่ที่เคยอยู่โดยแถบนำทาง แอป เลือกไม่ใช้ท่าทางสัมผัสเหล่านี้ไม่ได้ เนื่องจากท่าทางสัมผัสดังกล่าวจะเป็นการย้อนกลับ
เพื่อลดปัญหานี้ Android 10 จึงได้เปิดตัว
WindowInsets.getMandatorySystemGestureInsets()
API ซึ่งจะแจ้งแอปเกี่ยวกับเกณฑ์การจดจำการแตะ
เกมและแอปอื่นๆ ที่ไม่ใช่มุมมอง
เกมและแอปอื่นๆ ที่ไม่มีลำดับชั้นการดูมักกำหนดให้ผู้ใช้ต้อง
ปัดใกล้พื้นที่ท่าทางสัมผัสของระบบ ในกรณีเหล่านั้น เกมสามารถใช้
Window.setSystemGestureExclusionRects()
เพื่อยกเว้นพื้นที่ที่ซ้อนทับกับพื้นที่ที่สงวนไว้สำหรับท่าทางสัมผัสของระบบ เกม
คุณต้องยกเว้นพื้นที่เหล่านี้เฉพาะเมื่อจําเป็น เช่น
ได้อย่างมีประสิทธิภาพ
หากเกมกำหนดให้ผู้ใช้ปัดใกล้พื้นที่ท่าทางสัมผัสสำหรับหน้าแรก แอปจะดำเนินการต่อไปนี้ได้ ให้วางในโหมดใหญ่พิเศษ การดำเนินการนี้จะปิดท่าทางสัมผัสของระบบ ขณะที่ผู้ใช้กำลังโต้ตอบกับเกม แต่ให้ผู้ใช้เปิดใช้อีกครั้ง ท่าทางสัมผัสของระบบโดยการเลื่อนจากด้านล่างของหน้าจอ
อัปเดตแอปเพื่อรองรับท่าทางสัมผัสการย้อนกลับแบบคาดการณ์
Android 13 (API ระดับ 33) เปิดตัวท่าทางสัมผัสย้อนกลับแบบคาดการณ์สำหรับ Android อุปกรณ์อย่างโทรศัพท์ หน้าจอขนาดใหญ่ และอุปกรณ์แบบพับได้ การย้อนกลับที่คาดการณ์ได้ ท่าทางสัมผัสเป็นส่วนหนึ่งของรุ่นแบบหลายปี เมื่อใช้งานฟีเจอร์นี้อย่างสมบูรณ์ ช่วยให้ผู้ใช้ดูตัวอย่างจุดหมายหรือผลลัพธ์อื่นๆ ของท่าทางสัมผัสการย้อนกลับได้ก่อน ที่สามารถดำเนินการนี้ได้อย่างเต็มรูปแบบ เพื่อให้พวกเขาตัดสินใจได้ว่าจะดำเนินการต่อหรืออยู่ใน มุมมองปัจจุบัน
โปรดดู เพิ่มการรองรับท่าทางสัมผัสการย้อนกลับแบบคาดเดา เพื่อดูรายละเอียด
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการนำทางด้วยท่าทางสัมผัสได้จากรายการต่อไปนี้