在觸覺回饋檢查清單的步驟 2 中,我們引進了 HAL-API 常數對應,這項做法是根據強烈建議的 UX 設計原則。使用者體驗設計原則定義了使用 Android 觸覺回饋 API 時的基礎,包括如何使用、何時使用,以及使用哪些元素。如要進一步瞭解這些基礎原則,請參閱「進階 Haptics: The Time、What and How of New Haptic API」。
圖 1. HAL-API 常數對應:離散模型
選取觸覺技術效果
依觸覺強度 (VibrationEffect
)
EFFECT_CLICK
是決定偏好的觸覺回饋強度 (VibrationEffect
) 的最佳起點:它是 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 上移動時,使用虛擬勾號 UI 元素在時鐘 UI 上移動。
虛擬觸覺紋理的效果是重複使用的。這通常會讓感知能量高於振幅 (當效果不重複或只執行一次時)。因此,針對虛擬觸覺紋理 (例如 CLOCK_TICK
或 TEXT_HANDLE_MOVE
) 設計的觸覺常數必須「輕微」,才能透過重複的提示提供移動感。
圖 5. 模擬虛擬紋理的觸覺效果
包含感受
如要在觸覺效果中加入正面或負面情緒,請將更強烈的感覺套用至負面情緒,以吸引使用者的注意。
圖 6. 情緒觸覺技術效果
避免長時間震動產生可聽見的噪音
為避免長時間振動造成的聲響,請以平穩的速度加速模式,產生漸進效果。請使用 createWaveform(long[] timings, int[] amplitudes, int repeat)
執行此操作。
圖 7. 長時間漸強震動效果