Việc ánh xạ hằng số HAL-API được giới thiệu trong Hằng số bản đồ giữa HAL và API được thúc đẩy bởi các nguyên tắc thiết kế trải nghiệm người dùng được đề xuất cao. Các nguyên tắc thiết kế trải nghiệm người dùng xác định nền tảng của cách thức, thời điểm và nội dung cần sử dụng khi dùng API phản hồi xúc giác của Android. Hãy xem bài viết Phản hồi xúc giác nâng cao: Thời điểm, nội dung và cách thức của API phản hồi xúc giác mới để tìm hiểu thêm về các nguyên tắc cơ bản này.
Hình 1. Ánh xạ hằng số HAL-API: Mô hình rời rạc
Chọn hiệu ứng phản hồi xúc giác
Theo cường độ phản hồi xúc giác (VibrationEffect)
EFFECT_CLICK là nơi tốt nhất để bắt đầu khi xác định cường độ phản hồi xúc giác mà bạn muốn (VibrationEffect): đây là giá trị trung bình giữa phản hồi xúc giác "nhẹ" của EFFECT_TICK và phản hồi xúc giác "mạnh" của EFFECT_HEAVY_CLICK. Khi bắt đầu với EFFECT_CLICK, bạn có thể tăng hoặc giảm năng lượng khái niệm bằng cách thêm cường độ với EFFECT_HEAVY_CLICK hoặc giảm cường độ với EFFECT_TICK. Xin lưu ý rằng EFFECT_DOUBLE_CLICK mang lại năng lượng khái niệm cao nhất vì được lặp lại.
Hình 2. Cài đặt cường độ phản hồi xúc giác
Theo sự kiện nhập và thành phần giao diện người dùng (HapticFeedbackConstants)
Nếu mục tiêu của bạn liên quan đến các sự kiện nhập cụ thể (như nhấn và giữ hoặc
vuốt) hoặc thành phần giao diện người dùng (như bàn phím), hãy tìm các hằng số phản hồi xúc giác được xác định trước trong
HapticFeedbackConstants.
Tên của mỗi hằng số đề cập đến các trường hợp sử dụng cụ thể như KEYBOARD_PRESS hoặc LONG_PRESS.
Mô phỏng các sự kiện nhấn nút trong thế giới thực
Phản hồi xúc giác khi chạm của các sự kiện nhập (nút ảo) có thể mô phỏng các lần nhấn nút bằng các thực thể vật lý (chẳng hạn như nút cứng cơ học).
Sự kiện nhập: Quy trình tương tác theo cặp
Sự kiện nhấp chuột được thiết kế để mô phỏng Hành vi của một nút cơ học, đó là nhấn rồi thả. Năng lượng cảm nhận được của xung cơ học từ một lần nhấn nút cao hơn năng lượng cảm nhận được của một lần thả nút. Do đó, phản hồi xúc giác cho các lần nhấn nút mạnh hơn phản hồi xúc giác cho các lần thả nút.
Hình 3. Hiệu ứng phản hồi xúc giác theo sự kiện nhập nhị phân
Cường độ phản hồi xúc giác: Khả năng nhấn nút
Các sự kiện nhập có mức độ tương tác ngắn hơn và nhẹ hơn sẽ liên quan đến phản hồi xúc giác nhẹ hơn. Các sự kiện nhập có mức độ gắn bó dài hơn và sâu hơn sẽ liên quan đến phản hồi xúc giác mạnh hơn.
Hình 4. Hiệu ứng phản hồi xúc giác theo khả năng
Mô phỏng kết cấu ảo trong sự kiện nhập bằng cử chỉ
Bạn có thể căn chỉnh dữ liệu nhập dựa trên cử chỉ (như chà hoặc cuộn) với kết cấu phản hồi xúc giác ảo trong khi ngón tay di chuyển trên màn hình cùng với giao diện người dùng trực quan, chẳng hạn như tạo phản hồi xúc giác lặp lại trong khi ngón tay di chuyển xung quanh giao diện người dùng đồng hồ với các thành phần giao diện người dùng dấu tích ảo.
Các hiệu ứng cho kết cấu phản hồi xúc giác ảo được lặp lại. Điều này thường làm cho
năng lượng cảm nhận được cao hơn biên độ (khi hiệu ứng được gọi là
không lặp lại hoặc chỉ một lần). Do đó, các hằng số phản hồi xúc giác được thiết kế cho kết cấu phản hồi xúc giác ảo (như CLOCK_TICK hoặc TEXT_HANDLE_MOVE) phải tinh tế để mang lại cảm giác chuyển động thông qua các tín hiệu lặp lại.
Hình 5. Hiệu ứng phản hồi xúc giác để mô phỏng kết cấu ảo
Bao gồm cảm xúc
Để đưa cảm xúc tích cực hoặc tiêu cực vào hiệu ứng phản hồi xúc giác, hãy áp dụng cảm giác mạnh hơn cho cảm xúc tiêu cực để thu hút sự chú ý của người dùng.
Hình 6. Hiệu ứng phản hồi xúc giác theo cảm xúc
Tránh tiếng ồn có thể nghe thấy do rung dài
Để tránh tiếng ồn có thể nghe thấy do rung dài cho phản hồi xúc giác thu hút sự chú ý, hãy tăng tốc mẫu một cách mượt mà để tạo hiệu ứng tăng dần. Hãy thực hiện việc này bằng cách sử dụng
createWaveform(long[] timings, int[] amplitudes, int repeat).
Hình 7. Hiệu ứng tăng dần của rung dài