觸覺檢查表第 2 步驟中引入的 HAL-API 常數映射由強烈建議的 UX 設計原則所驅動。使用者體驗設計原則定義了使用 Android 觸覺 API 時如何、何時以及使用什麼的基礎。請參閱進階觸覺:新觸覺 API 的時機、內容和方式,以了解有關這些基本原則的更多資訊。
圖 1. HAL-API 常數映射:離散模型
選擇觸覺效果
透過觸覺強度( VibrationEffect
)
在確定您的首選觸覺強度 ( VibrationEffect
) 時, EFFECT_CLICK
是最佳起點:它是EFFECT_TICK
的「輕」觸覺和EFFECT_HEAVY_CLICK
的「重」觸覺之間的中位數。從EFFECT_CLICK
開始,您可以透過使用EFFECT_HEAVY_CLICK
增加強度或使用EFFECT_TICK
降低強度來增加或減少概念能量。請記住, EFFECT_DOUBLE_CLICK
提供了最高的概念能量,因為它是重複的。
圖 2.觸覺強度設置
透過輸入事件和 UI 元素 ( HapticFeedbackConstants
)
如果您的目標與特定輸入事件(如長按或滑動)或 UI 元素(如鍵盤)相關,請在HapticFeedbackConstants
中尋找預先定義的觸覺常數。每個常數的名稱指的是特定的用例,例如KEYBOARD_PRESS
或LONG_PRESS
。
模擬現實世界的按鈕按下事件
輸入事件(虛擬軟按鈕)的觸控觸覺回饋可以使用實體實體(例如機械硬按鈕)模擬按鈕按下。
輸入事件:成對互動流
點擊事件旨在模擬機械按鈕的行為,即按下然後釋放。按下按鈕時感受到的機械脈衝能量高於釋放按鈕時感受到的機械脈衝能量。因此,按下按鈕的觸覺回饋比釋放按鈕的觸覺回饋更強。
圖 3.二進位輸入事件的觸覺效果
觸覺強度:按下按鈕的可供性
參與度較短且較輕的輸入事件與較輕的觸覺有關。參與時間更長、更深的輸入事件與更強的觸覺有關。
圖 4.可供性的觸覺效果
模擬手勢輸入事件中的虛擬紋理
當手指在螢幕上與視覺 UI 一起移動時,基於手勢的輸入(例如滑動或滾動)可以與虛擬觸覺紋理對齊,例如,當手指在帶有虛擬刻度線的時鐘 UI 上移動時產生重複的觸覺回饋使用者介面元素。
虛擬觸覺紋理的效果是要重複的。這通常會使感知的能量高於幅度(當不重複調用效果或僅調用一次效果時)。因此,為虛擬觸覺紋理設計的觸覺常數(如CLOCK_TICK
或TEXT_HANDLE_MOVE
)必須很微妙,才能透過重複提示提供運動的感覺。
圖 5.模擬虛擬紋理的觸覺效果
包括情緒
要在觸覺效果中包含正面或負面情緒,請將更強的感覺應用於負面情緒以吸引使用者的注意。
圖 6.帶有情緒的觸覺效果
避免長時間振動產生的噪音
為了避免注意力觸覺的長時間振動產生可聞噪音,請平滑地加速模式以產生斜坡上升效果。透過使用createWaveform(long[] timings, int[] amplitudes, int repeat)
來完成此操作。
圖 7.長振動斜坡上升效應