觸覺檢查表第 2 步中引入的 HAL-API 常量映射由強烈推薦的 UX 設計原則驅動。 UX 設計原則定義了使用 Android 觸覺 API 時如何、何時以及使用什麼的基礎。請參閱高級觸覺:新觸覺 API 的時間、內容和方式,以了解有關這些基本原則的更多信息。
圖 1. HAL-API 常量映射:離散模型
選擇觸覺效果
通過觸覺強度 ( VibrationEffect
)
EFFECT_CLICK
是確定所需觸覺強度 ( VibrationEffect
) 的最佳起點:它是 EFFECT_TICK 的“輕”觸覺和EFFECT_TICK
的“重”觸覺之間的中EFFECT_HEAVY_CLICK
。從EFFECT_CLICK
開始,您可以通過使用EFFECT_TICK
EFFECT_HEAVY_CLICK
強度。請記住, EFFECT_DOUBLE_CLICK
提供了最高的概念能量,因為它是重複的。
圖 2.觸覺強度設置
通過輸入事件和 UI 元素 ( HapticFeedbackConstants
)
如果您的目標與特定的輸入事件(如長按或滑動)或 UI 元素(如鍵盤)相關聯,請在HapticFeedbackConstants
中查找預定義的觸覺常量。每個常量的名稱是指特定的用例,例如KEYBOARD_PRESS
或LONG_PRESS
。
模擬真實世界的按鈕按下事件
輸入事件(虛擬軟按鈕)的觸摸觸覺反饋可以使用物理實體(例如機械硬按鈕)模擬按鈕按下。
輸入事件:成對交互流
click 事件旨在模擬機械按鈕的行為,即按下然後釋放。按下按鈕的機械脈衝的感知能量高於按鈕釋放的能量。因此,按鈕按下的觸覺反饋比按鈕釋放的觸覺反饋強。
圖 3.二進制輸入事件的觸覺效果
觸覺強度:按鈕按下的可供性
具有較短和較輕參與的輸入事件與較輕的觸覺相關聯。具有更長和更深入參與的輸入事件與更強的觸覺相關聯。
圖 4.可供性的觸覺效果
在手勢輸入事件中模擬虛擬紋理
當手指在屏幕上與視覺 UI 一起移動時,基於手勢的輸入(如擦洗或滾動)可以與虛擬觸覺紋理對齊,例如,當手指在帶有虛擬刻度標記的時鐘 UI 上移動時生成重複的觸覺反饋用戶界面元素。
虛擬觸覺紋理的效果是重複的。這通常會使感知到的能量高於幅度(當效果被調用時不重複,或者只調用一次)。正因為如此,為虛擬觸覺紋理(如CLOCK_TICK
或TEXT_HANDLE_MOVE
)設計的觸覺常數必須很微妙,以通過重複提示提供運動感覺。
圖 5.模擬虛擬紋理的觸覺效果
包括情緒
要在觸覺效果中包含正面或負面情緒,請對負面情緒應用更強的感覺以引起用戶的注意。
圖 6.帶有情緒的觸覺效果
避免長時間振動產生的可聞噪音
為避免長時間振動對注意力觸覺產生可聽見的噪音,請平穩加速模式以產生加速效果。通過使用createWaveform(long[] timings, int[] amplitudes, int repeat)
來做到這一點。
圖 7.長振動斜升效應