--
layout: blog
title: 'Android播放器歌词显示控件'
date: 2017-07-04 12:11:34
categories: blog
tags: code
image: ''
lead-text: 'Android播放器歌词显示控件'
播放界面要显示歌词,找到了 remusic 的歌词显示,但是不太符合需求,所以作了修改
这里详述歌词解析的内容,有兴趣可以看代码,解析出来的歌词保存在一个List<LrcRow>里面,根据行所在位置来设置在view中的位置
歌词显示和滚动的原理
Scroller 滚动
Scroller类介绍,其实很多常用要滚动的控件也是通过Scroller来实现滚动效果
如ViewPager其内部有创建一个Scroller对象来实现滑动。作为辅助滚动类,用户手指离开了屏幕之后,剩下的滚动由Scroller来完成根据歌词所在list的位置绘制该行歌词在view中的位置
计算歌词行所在Y坐标监听手势拖动
用户手指在屏幕上拖动的时候更新歌词坐标,拖动结束使用scroller辅助滑动坐标
歌词的拖动和回滚
原版的歌词显示和拖动是根据歌词滚动到的地方然后保持在那个地方,但是根据需求要拖动之后不能立刻播放到这里而是等待5秒之后
如果用户没有点击播放按钮那么就将歌词回滚到原来的位置
总结
- Scroller类的使用
- 一个View实现类似ListView的长条滑动效果