jenly1314 / UltraSwipeRefresh

:surfer: 一个可带来极致体验的Compose刷新组件;支持下拉刷新和上拉加载,可完美替代官方的SwipeRefresh;并且支持的功能更多,可扩展性更强。
MIT License
122 stars 6 forks source link

vibrate下拉振动效果的代码优化建议 #11

Closed liu-xinhui closed 1 month ago

liu-xinhui commented 2 months ago
val view = LocalView.current
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY)

比较方便的实现方式是这种,而且可以定义震动效果,建议使用HapticFeedbackConstants.VIRTUAL_KEY,效果最好

jenly1314 commented 2 months ago
val view = LocalView.current
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY)

比较方便的实现方式是这种,而且可以定义震动效果,建议使用HapticFeedbackConstants.VIRTUAL_KEY,效果最好

看了下 官方说明,我抽空试下效果,再决定要不要换。(不过在我印象中,好像系统默认的振动效果幅度都有点偏大)

jenly1314 commented 2 months ago

测试了下,这种方式需要在系统设置开启后才能有振动效果,这不符合我的预期,而且这种方式的默认的振幅偏大。所以还是保持之前的用法比较好。

liu-xinhui commented 2 months ago

你说的设置中开启,是在哪。我的手机不用开启就可以呢。 VIRTUAL_KEY的类型下振幅很小的,很舒服。属于那种类似苹果手机的X轴震动,震动很短,和手机自带的虚拟按键同样的震动效果。

jenly1314 commented 2 months ago

你说的设置中开启,是在哪。我的手机不用开启就可以呢。 VIRTUAL_KEY的类型下振幅很小的,很舒服。属于那种类似苹果手机的X轴震动,震动很短,和手机自带的虚拟按键同样的震动效果。

声音和振动 设置的更多声音设置里面有个 点击时振动 的开关,不同手机可能稍有差别,不过应该大体类似,你可以到 声音和振动 相关设置里面找找。还有前面回复的官方说明里面也有相关说明的;这种好处是不需要振动权限。但前提条件是需要开启触感反馈。

liu-xinhui commented 2 months ago

你说的设置中开启,是在哪。我的手机不用开启就可以呢。 VIRTUAL_KEY的类型下振幅很小的,很舒服。属于那种类似苹果手机的X轴震动,震动很短,和手机自带的虚拟按键同样的震动效果。

声音和振动 设置的更多声音设置里面有个 点击时振动 的开关,不同手机可能稍有差别,不过应该大体类似,你可以到 声音和振动 相关设置里面找找。还有前面回复的官方说明里面也有相关说明的;这种好处是不需要振动权限。但前提条件是需要开启触感反馈。

确实会受到系统设置的影响

liu-xinhui commented 2 months ago

原本的实现方式也会受到系统设置影响,关闭触感后,demo中开启震动也是没效果的。 image

jenly1314 commented 2 months ago

原本的实现方式也会受到系统设置影响,关闭触感后,demo中开启震动也是没效果的。 image

你这个系统触感关了是所有振动效果都没了吗?我测试demo时,下拉的振动反馈不受系统设置影响;你可以再试试微信或支付宝下拉时的振动反馈。(我能确定微信和支付宝都不是用:view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY) 来实现振动的)

liu-xinhui commented 2 months ago

微信首页下拉到小程序的震动,也会消失。其他不知道哪里可以触发震动。 IT之家的底部tab切换依然有震动,说明不是全部关了。

jenly1314 commented 2 months ago

微信首页下拉到小程序的震动,也会消失。其他不知道哪里可以触发震动。 IT之家的底部tab切换依然有震动,说明不是全部关了。

IT之家的能振动,我猜可能是没做版本适配,反而依旧有振动效果;不过这不是重点。

jenly1314 commented 2 months ago

这个要不要优化的问题,在没有找到有更好的方式符合预期时;我还是保留之前的观点;https://github.com/jenly1314/UltraSwipeRefresh/issues/11#issuecomment-2158288021