在 Android 裝置上設計觸覺技術之前, 振動致動器的運作方式總覽。
最常見的震動致動器是線性共振致動器 (LRA)。每項 LRA 包含聲音線圈,用來壓平磁力移動的質量, 每個春季都有連結聲音線圈使用的 AC 電壓會產生 造成質量移動的電磁力。「彈簧」提供 使質量回到起始位置的恢復力。 在質量的上下移動會讓 LRA 振動。他們的 輸出的最大共振頻率。
由於輸入電壓在兩種不同的頻率時相同,震動輸出就會是 振幅可能會有所不同頻率與 LRA 的 振動頻率越低,振動幅度越低。
LRA 的其中一項常見功能是模擬按鈕的感受 然後按一下無回應的玻璃表面。能帶給使用者 更自然當你在虛擬鍵盤上輸入內容時,點選意見回饋可以 加快輸入速度並減少錯誤清楚明瞭的點擊意見回饋信號 時間長度通常不超過 10 至 20 毫秒。獲得良好點擊 需要具備裝置所用 LRA 的一些知識。這也說明瞭 預先製作的波形可針對點擊提供最佳回饋別擔心!您可以使用 每當有人按下按鈕獲得點擊回饋時 。
裝置中的觸覺效應取決於振動 與相關手法含過度駕駛和活躍作用的觸覺回饋駕駛 煞車功能有助於減少 LRA 的啟動時間和響鈴,進而 回應速度和震動以下為說明 波形模式在一般裝置上運作。
Kotlin
val timings: LongArray = longArrayOf(50, 50, 50, 50, 50, 100, 350, 250) val amplitudes: IntArray = intArrayOf(77, 79, 84, 99, 143, 255, 0, 255) val repeatIndex = -1 // Do not repeat. vibrator.vibrate(VibrationEffect.createWaveform(timings, amplitudes, repeatIndex))
Java
long[] timings = new long[] { 50, 50, 50, 50, 50, 100, 350, 250 }; int[] amplitudes = new int[] { 77, 79, 84, 99, 143, 255, 0, 255 }; int repeatIndex = -1 // Do not repeat. vibrator.vibrate(VibrationEffect.createWaveform(timings, amplitudes, repeatIndex));
下圖顯示與程式碼片段相對應的波形 。
相應的加速功能如下:
請注意,每次 模式中的振幅變化 (例如,0 毫秒、150 毫秒、200 毫秒、250 毫秒、 700 毫秒)。每步幅增加時都要過度衝擊 可見的「響鈴」,持續至少 50 毫秒 降 0。
只要增加和減少振幅,就能改善這種觸覺回饋模式 逐漸避免過度射擊並減少響鈴時間。下列程式碼顯示 修正後的波形和加速度圖。
Kotlin
val timings: LongArray = longArrayOf( 25, 25, 50, 25, 25, 25, 25, 25, 25, 25, 75, 25, 25, 300, 25, 25, 150, 25, 25, 25 ) val amplitudes: IntArray = intArrayOf( 38, 77, 79, 84, 92, 99, 121, 143, 180, 217, 255, 170, 85, 0, 85, 170, 255, 170, 85, 0 ) val repeatIndex = -1 // Do not repeat. vibrator.vibrate(VibrationEffect.createWaveform(timings, amplitudes, repeatIndex))
Java
long[] timings = new long[] { 25, 25, 50, 25, 25, 25, 25, 25, 25, 25, 75, 25, 25, 300, 25, 25, 150, 25, 25, 25 }; int[] amplitudes = new int[] { 38, 77, 79, 84, 92, 99, 121, 143, 180, 217, 255, 170, 85, 0, 85, 170, 255, 170, 85, 0 }; int repeatIndex = -1; // Do not repeat. vibrator.vibrate(VibrationEffect.createWaveform(timings, amplitudes, repeatIndex));
在 Android 裝置上建立觸覺效應需要超過 提供頻率和振幅值設計 觸覺技術會產生觸覺效應,但無法完全查看工程規格 震動致動器和驅動程式Android API 提供常數 讓您執行以下操作:
執行清晰的效果和原始效果。
串連這些按鈕,即可創造新的觸覺效果。
這些預先定義的觸覺常數和基本功能,可大幅提升作業速度 同時確保高品質的觸覺回饋