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