ตั้งแต่ 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 เพื่อแจ้งให้แอปทราบถึงเกณฑ์การจดจำการแตะเพื่อลดปัญหานี้
เกมและแอปอื่นๆ ที่ไม่ใช่ View
เกมและแอปอื่นๆ ที่ไม่มีลำดับชั้นของมุมมองมักกำหนดให้ผู้ใช้ปัดใกล้กับพื้นที่ท่าทางสัมผัสของระบบ
ในกรณีดังกล่าว เกมสามารถใช้
Window.setSystemGestureExclusionRects()
เพื่อยกเว้นพื้นที่ที่ทับซ้อนกับพื้นที่ที่สงวนไว้สำหรับท่าทางสัมผัสของระบบ เกม
ต้องตรวจสอบว่าได้ยกเว้นพื้นที่เหล่านี้เมื่อจำเป็นเท่านั้น เช่น ระหว่าง
การเล่นเกม
หากเกมกำหนดให้ผู้ใช้ปัดใกล้กับพื้นที่ท่าทางสัมผัสหน้าแรก แอปจะ ขอให้จัดวางในโหมดสมจริงได้ ซึ่งจะปิดใช้ท่าทางสัมผัสของระบบ ขณะที่ผู้ใช้โต้ตอบกับเกม แต่จะอนุญาตให้ผู้ใช้เปิดใช้ท่าทางสัมผัสของระบบอีกครั้ง ได้โดยการปัดจากด้านล่างของหน้าจอ
อัปเดตแอปให้รองรับท่าทางสัมผัสย้อนกลับแบบคาดการณ์
Android 13 (API ระดับ 33) เปิดตัวท่าทางสัมผัสย้อนกลับแบบคาดการณ์สำหรับอุปกรณ์ Android เช่น โทรศัพท์ หน้าจอขนาดใหญ่ และอุปกรณ์แบบพับได้ ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้ เป็นส่วนหนึ่งของการเปิดตัวหลายปี เมื่อใช้งานฟีเจอร์นี้อย่างเต็มรูปแบบแล้ว ฟีเจอร์นี้จะช่วยให้ผู้ใช้ดูตัวอย่างปลายทางหรือผลลัพธ์อื่นๆ ของท่าทางสัมผัสสำหรับการย้อนกลับได้ก่อนที่จะดำเนินการให้เสร็จสมบูรณ์ ซึ่งจะช่วยให้ผู้ใช้ตัดสินใจได้ว่าจะดำเนินการต่อหรือจะอยู่ในมุมมองปัจจุบัน
ดูรายละเอียดได้ที่ เพิ่มการรองรับท่าทางสัมผัสย้อนกลับแบบคาดการณ์
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการนำทางด้วยท่าทางสัมผัสได้ที่หัวข้อต่อไปนี้