概述
使用方法(默认触感反馈是启用的)
-
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);
-
第二个参数不传
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING
全部失效
初步测试结果
- 第一个参数传除
HapticFeedbackConstants.VIRTUAL_KEY
以外的任何参数,不是震动比它小就是没有震动。 - 第二个参数传
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING)
(即忽略全局设置)以外的参数或者不传,也没有震动。
替代方法
实际上 HapticFeedback 也是调用的Vibrate震动引擎,只是Android系统内定义好了几种比较好的震动效果,而且HapticFeedback不需要震动权限。
如果有权限:
<uses-permission android:name="android.permission.VIBRATE"/>
//取得震动服务
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if (vibrator != null) {
vibrator.vibrate(new long[]{0,10},-1);
}
实测 Smartisan R1 在震动时间为10ms的情况下已经有较重的划栏杆
的感觉了。
vibrate()里面是个long数组加一个重复模式,大概意思是(参考文章):
开始震动有两个接口
1 . vibrator.vibrate(2000);//震动指定时间 ,数据类型long,单位为毫秒,一毫秒为1/1000秒
2. vibrator.vibrate(new long[]{100,10,100,1000}, -1);//按照指定的模式去震动。
数组参数意义:第一个参数为等待指定时间后开始震动,震动时间为第二个参数。后边的参数依次为等待震动和震动的时间
第二个参数为重复次数,-1为不重复,0为一直震动
最后
以上就是无辜母鸡为你收集整理的Android HapticFeedback触感反馈的全部内容,希望文章能够帮你解决Android HapticFeedback触感反馈所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复