Android 先慢后快的算法,适用于播放器滑动控制百分比

本文介绍了如何实现视频播放器中进度条拖动的智能算法,该算法通过将拖动距离与视频控件宽度的关系转化为进度调整,实现小幅度拖动精细调整,大幅度拖动快速跳转的效果。算法的关键在于将拖动距离的平方与控件宽度的比例作为进度变化的基础,使得用户体验更为人性化。
摘要由CSDN通过智能技术生成

前言

各位观众姥爷是否觉得一个好的播放器仅仅只能平滑拖动进度是不理想化的,我个人觉得百分比拖动功能应该是这样子的:先慢后快,啥意思呢?当我们小幅拖动时是对进度精细化调整,可能就是想看几秒前晃神、眨眼、刻骨铭心的画面,仅需要秒级的拖动,但是当大幅拖动时是对这一段不感兴趣或者直接想跳到片尾,这时候涉及进度的调整往往直接冲向100%,有什么算法可以做到呢?

算法

明人不说暗话,有几个基础变量

  1. 获取视频控件的宽度,记作viewWidth
  2. 获取在视频控件拖动的距离,记作moveWidth

基础变量定义完成后就是算法:

val moveProgress = ((moveWidth / viewWidth) * 100f) * (moveWidth / viewWidth)

完结

通过以上算法可以达到小幅推动进度偏小,大幅拖动进度偏大的效果哦

最后我还有一句话要说:

不要在在意的事情上投入不切实际的期望和附着不着边际的价值

因为人生唯一能确定的是不确定的人生,人生唯一恐惧的是恐惧本身

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值