Android自定义View实战:简约风歌词控件

本文介绍如何在Android中实现一个自定义View来展示歌词。首先创建LrcBean类存储歌词信息,包括开始时间和歌词内容。接着,通过LrcUtil工具类解析歌词字符串,将它们转换为LrcBean对象。在歌词绘制阶段,涉及到自定义View的基本操作,如设置属性、初始化画笔、获取当前播放歌词位置、画歌词以及歌词随着歌曲播放同步滑动。
摘要由CSDN通过智能技术生成

55[02:35.40]

56[02:37.83]以往为了自我挣扎

57[02:41.62]从不知 她的痛苦

58[02:52.02]

59[02:54.11]喜欢你 那双眼动人

60[03:00.13]笑声更迷人

61[03:02.38]

62[03:03.14]愿再可 轻抚你

63[03:08.77]

64[03:09.33]那可爱面容

65[03:11.71]

66[03:12.41]挽手说梦话

67[03:14.61]

68[03:15.45]像昨天 你共我

从上面可以看出这种格式前面是开始时间,从左往右一一对应分,秒,毫秒,后面就是歌词。所以我们要创建一个实体类来保存每一句的歌词信息。

[](()1.歌词实体类LrcBean

==========================================================================

1public class LrcBean {

2    private String lrc;//歌词

3    private long start;//开始时间

4    private long end;//结束时间

5

6    public String getLrc() {

7        return lrc;

8    }

9

10    public void setLrc(String lrc) {

11        this.lrc = lrc;

12    }

13

14    public long getStart() {

15        return start;

16    }

17

18    public void setStart(long start) {

19        this.start = start;

20    }

21

22    public long getEnd() {

23        return end;

24    }

25

26    public void setEnd(long end) {

27        this.end = end;

28    }

29}

每句歌词,我们需要开始时间,结束时间和歌词这些信息,那么你就会有疑问了?上面提到的歌词格式好像只有歌词开始时间,那我们怎么知道结束时间呢?其实很简单,这一句歌词的开始时间就是上一句歌词的结束时间。有了歌词实体类,我们就得开始对歌词进行解析了!

[](()2. 解析歌词工具类LrcUtil

==============================================================================

1public class LrcUtil {

2

3    /**

4     * 解析歌词,将字符串歌词封装成LrcBean的集合

5     * @param lrcStr 字符串的歌词,歌词有固定的格式,一般为

6     * [ti:喜欢你]

7     * [ar:.]

8     * [al:]

9     * [by:]

10     * [offset:0]

11     * [00:00.10]喜欢你 - G.E.M. 邓紫棋 (Gem Tang)

12     * [00:00.20]词:黄家驹

13     * [00:00.30]曲:黄家驹

14     * [00:00.40]编曲&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值