2013-04-24 51 views
2

我想在用戶按下對話框上的項目時執行觸覺反饋。因爲我沒有在我的手握住視圖(僅活動)如何在對話框上執行觸覺反饋?

我能做些什麼

view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); 

: 我不能使用的視圖的方法?

+1

如何獲取對話框的'DecorView'並調用'performHapticFeedback'就可以了嗎? 'dialog.getWindow()。getDecorView()。performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY)' – 2013-04-24 13:08:47

+0

不知道這個..謝謝!有效! =) – idog 2013-04-24 13:43:25

回答

2

你可以寫你自己的類來擴展Dialog和/或DialogFragment。

,並添加按鈕的回調(或任何你想要執行的振動)

Vibrator v = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); 
v.vibrate(250); 

您還需要添加的權限android.permission.VIBRATE在您的清單。

爲了僅振動,如果用戶已經在他的手機的常規設置沒有禁用觸覺反饋,你可以得到他的選擇有:

Settings.System.getInt(Context.getContentResolver(),          
         Settings.System.HAPTIC_FEEDBACK_ENABLED, 0); 
+2

請注意,在這種情況下,您必須向AndroidManifest添加'android.permission.VIBRATE'權限 – 2013-04-24 13:11:56

+0

true :-);添加到答案的清晰度 – Teovald 2013-04-24 13:19:11

+0

它會工作,但我想只在用戶啓用觸覺反饋而不強制他時使用觸覺反饋。 – idog 2013-04-24 13:44:49