Android:触觉反馈:onClick()事件与视图中的hapticFeedbackEnabled

dre*_*ves 9 java android

如果你想要一个按钮提供触觉反馈(即手机振动非常短暂,你可以感觉到你真的按下按钮),那么标准的方法是什么?看来你可以显式设置一个onClick()事件并调用vibrate()函数,给出振动的毫秒数,或者你可以在视图中设置hapticFeedbackEnabled.

该文档似乎表明后者仅适用于长按或虚拟屏幕键:http: //developer.android.com/reference/android/view/View.html#performHapticFeedback(int)

如果这是正确的,那么我需要使我的按钮成为虚拟屏幕键或手动设置onClick()事件.

您有什么推荐的吗?

此外,如果我希望当用户的手指触摸按钮时立即发生振动,而不是当他们的手指"释放"按钮时,那么最好的方法是什么?

相关问题: 如何在按钮视图上启用触觉反馈

Mei*_*ier 6

Android Cookbook - Chapter Haptic Feedback中有更长的描述

摘要:需要几个步骤:

  • 在清单中启用振动
  • 为按钮/视图启用触觉反馈
  • 为您的按钮注册一个 onTouch 侦听器
  • 呼叫performHapticFeedback()触地

您可以同时拥有用于触觉反馈的 onTouchLister 和用于您的操作的 onClickHandler,只需确保 onTouchHandler 返回 false,否则该事件将被标记为已消费且不会提供给 onClickHandler。


Mou*_*Reg 1

我认为手动调用 vibrate() 不是一个好主意。这意味着不想要触觉反馈的人的手机将会振动。另外我不知道它对非振动产品有何反应。setHapticFeedbackEnabled 绝对是最好的方法;该方法是为了这个非常具体的目的而创建的。