Đảm bảo khả năng tương thích với thao tác bằng cử chỉ

Kể từ Android 10 (API cấp 29), hệ thống Android sẽ hỗ trợ đầy đủ điều hướng dựa trên cử chỉ. Có 2 điều mà nhà phát triển ứng dụng phải làm để đảm bảo các ứng dụng của họ tương thích với tính năng này:

  • Mở rộng nội dung ứng dụng từ tràn viền.
  • Xử lý các cử chỉ xung đột trong ứng dụng.

Ngoài ra, Android 13 (API cấp 33) ra mắt một tính năng xem trước thao tác quay lại dành cho Android các thiết bị như điện thoại, thiết bị màn hình lớn và thiết bị có thể gập lại nằm trong chương trình nhiều năm bản phát hành. Nhà phát triển ứng dụng có thể thực hiện các bước để đảm bảo rằng ứng dụng của họ hỗ trợ xem trước thao tác quay lại.

Cung cấp nội dung ứng dụng tràn viền

Để tận dụng không gian màn hình bổ sung có sẵn của quảng cáo nổi thanh điều hướng, bạn cần định cấu hình một số thay đổi nhất định trong ứng dụng của mình.

Xem bài viết Hiển thị nội dung tràn viền trong ứng dụng của bạn để biết thông tin chi tiết.

Xử lý các cử chỉ xung đột trong ứng dụng

Mô hình thao tác bằng cử chỉ có thể xung đột với các cử chỉ trước đó được nhà phát triển ứng dụng sử dụng. Bạn có thể cần phải điều chỉnh người dùng ứng dụng của mình giao diện người dùng.

Xung đột với cử chỉ quay lại

Cử chỉ quay lại mới của hệ thống là thao tác vuốt vào từ bên trái hoặc cạnh bên phải của màn hình. Điều này có thể ảnh hưởng đến các phần tử điều hướng của ứng dụng trong những lĩnh vực đó. Để duy trì chức năng của các phần tử ở cạnh trái và cạnh phải màn hình, chọn không sử dụng cử chỉ quay lại một cách có chọn lọc bằng cách chỉ cho những khu vực cần nhận phương thức nhập bằng cách chạm. Bạn có thể thực hiện việc này bằng cách truyền List<Rect> đến View.setSystemGestureExclusionRects() API ra mắt trong Android 10. Phương thức này cũng có trong ViewCompat kể từ androidx.core:core:1.1.0-dev01.

Ví dụ:

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);
}

Xung đột với cử chỉ chuyển sang màn hình chính hoặc chuyển đổi nhanh

Cả hai cử chỉ hệ thống mới để chuyển sang màn hình chính và chuyển đổi nhanh đều bao gồm thao tác vuốt ở cuối màn hình trong không gian bị thanh điều hướng chiếm trước đó. Chiến dịch Quảng cáo ứng dụng không thể chọn không sử dụng những cử chỉ này vì các cử chỉ này có thể dùng với cử chỉ quay lại.

Để giảm thiểu vấn đề này, Android 10 ra mắt tính năng WindowInsets.getMandatorySystemGestureInsets() API để thông báo cho ứng dụng về các ngưỡng nhận dạng cảm ứng.

Trò chơi và các ứng dụng khác không phải Khung hiển thị

Trò chơi và các ứng dụng khác không có hệ phân cấp khung hiển thị thường yêu cầu người dùng vuốt gần các khu vực cử chỉ hệ thống. Trong những trường hợp đó, trò chơi có thể sử dụng Window.setSystemGestureExclusionRects() để loại trừ các vùng chồng chéo với các vùng dành riêng cho cử chỉ hệ thống. Trò chơi phải đảm bảo chỉ loại trừ các khu vực này khi cần thiết, chẳng hạn như trong chơi trò chơi.

Nếu một trò chơi yêu cầu người dùng phải vuốt gần khu vực cử chỉ trên màn hình chính, thì ứng dụng đó có thể yêu cầu bố trí ở chế độ chìm. Thao tác này sẽ tắt các cử chỉ hệ thống trong khi người dùng tương tác với trò chơi, nhưng cho phép người dùng bật lại cử chỉ hệ thống bằng cách vuốt từ cuối màn hình.

Cập nhật ứng dụng để hỗ trợ tính năng xem trước thao tác quay lại

Android 13 (API cấp 33) ra mắt tính năng xem trước thao tác quay lại cho các thiết bị Android như điện thoại, thiết bị màn hình lớn và thiết bị có thể gập lại. Tính năng xem trước thao tác quay lại cử chỉ là một phần của bản phát hành nhiều năm. Khi được triển khai đầy đủ, tính năng này cho phép người dùng xem trước đích đến hoặc kết quả khác của cử chỉ quay lại trước họ hoàn thành toàn bộ chiến dịch, cho phép họ quyết định xem tiếp tục hay ở lại chế độ xem hiện tại.

Xem Thêm khả năng hỗ trợ cho tính năng xem trước thao tác quay lại để biết thông tin chi tiết.

Tài nguyên khác

Để tìm hiểu thêm về thao tác bằng cử chỉ, hãy xem các nội dung sau:

Bài đăng trên blog

Video