Android 开源歌词控件 LyricViewX

开源地址 Github https://github.com/Moriafly/LyricViewX

LyricViewX 是一个美观的安卓歌词控件。

基于 LrcView 设计。

效果展示 Dso Music

Github https://github.com/Moriafly/DsoMusic

双语

拖动

单语

比较与 LrcView

  • 100% Kotlin 代码
  • 交互优化,移除过时方法
  • 提供 JitPack 库方便使用
  • 提供新功能

如何使用

步骤 1. 将 JitPack 存储库添加到构建文件中

将它添加到 build.gradle(root) 中:

allprojects {repositories {...maven { url 'https://www.jitpack.io' }}
}

步骤 2. 添加依赖关系

dependencies {implementation 'com.github.Moriafly:LyricViewX:1.1.0'
}

方法

/*** 设置非当前行歌词字体颜色 [normalColor]*/
fun setNormalColor(normalColor: Int)/*** 普通歌词文本字体大小 [size],单位 px*/
fun setNormalTextSize(size: Float)/*** 当前歌词文本字体大小*/
fun setCurrentTextSize(size: Float)/*** 设置当前行歌词的字体颜色*/
fun setCurrentColor(currentColor: Int)/*** 设置拖动歌词时选中歌词的字体颜色*/
fun setTimelineTextColor(timelineTextColor: Int)/*** 设置拖动歌词时时间线的颜色*/
fun setTimelineColor(timelineColor: Int)/*** 设置拖动歌词时右侧时间字体颜色*/
fun setTimeTextColor(timeTextColor: Int)/*** 设置歌词为空时屏幕中央显示的文字 [label],如“暂无歌词”*/
fun setLabel(label: String)/*** 加载歌词文件* 两种语言的歌词时间戳需要一致* @param mainLyricFile 第一种语言歌词文件* @param secondLyricFile 可选,第二种语言歌词文件*/
fun loadLyric(mainLyricFile: File, secondLyricFile: File? = null)/*** 加载歌词文本* 两种语言的歌词时间戳需要一致* @param mainLyricText 第一种语言歌词文本* @param secondLyricText 可选,第二种语言歌词文本*/
fun loadLyric(mainLyricText: String?, secondLyricText: String? = null)/*** 加载在线歌词* @param lyricUrl  歌词文件的网络地址* @param charset 编码格式*/
fun loadLyricByUrl(lyricUrl: String, charset: String? = "utf-8")/*** 刷新歌词* @param time 当前播放时间*/
fun updateTime(time: Long)/*** 设置歌词是否允许拖动* @param draggable 是否允许拖动* @param onPlayClickListener 设置歌词拖动后播放按钮点击监听器,如果允许拖动,则不能为 null*/
fun setDraggable(draggable: Boolean, onPlayClickListener: OnPlayClickListener?)/*** 设置单击*/
fun setOnSingerClickListener(onSingerClickListener: OnSingleClickListener?)/*** @新增加* 获取当前歌词每句实体,可用于歌词分享* @return LyricEntry 集合*/
fun getLyricEntryList(): List<LyricEntry>/*** 播放按钮被点击,应该跳转到指定播放位置* @return 是否成功消费该事件,如果成功消费,则会更新UI*/
fun onPlayClick(time: Long): Boolean/*** 单击事件*/
fun onClick()

License

LyricViewX  Copyright (C) 2021  Moriafly
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

Android 开源歌词控件 LyricViewX相关推荐

  1. c#控件弹幕效果_仿B站弹幕,极简Android开源弹幕控件:EasyDanmaku

    EasyDanmaku 一个方便简单的Android弹幕控件,顾名思义so easy. easydanmaku easydanmaku 原理简单,纯java实现,方便修改和扩展: 体积小,占用资源少, ...

  2. android 开源聊天控件,聊天IM的时间戳显示规则

    ====================================================== 以下规则是在体验微信操作后,推测出来的规则,可能存在一些不准确的表述 ========== ...

  3. android动手写平滑滚动歌词控件

    马上毕业了,前段时间一直忙自己的毕业设计和毕业论文,做的是一个android音乐播放器,今天特意抽出里面的一块功能来凑这篇博客--歌词的显示. 看看QQ音乐,歌词显示略屌,可惜我们的LRC文件并不能做 ...

  4. Android自定义View-简约风歌词控件

    前言 最近重构了之前的音乐播放器,添加了许多功能,比如歌词,下载功能等.这篇文章就让我们聊聊歌词控件的实现(歌词控件也已经开源,地址也在文章底部),先上效果图,如果感觉海星,就继续瞧下去! 看到这里, ...

  5. Android自定义View实战:简约风歌词控件,Android开发者值得深入思考的几个问题

    57[02:41.62]从不知 她的痛苦 58[02:52.02] 59[02:54.11]喜欢你 那双眼动人 60[03:00.13]笑声更迷人 61[03:02.38] 62[03:03.14]愿 ...

  6. android歌词效果,自定义View:Android歌词控件

    TicktockMusic 音乐播放器项目相关文章汇总: 简介 之前做 TicktockMusic 音乐播放器,一个必要的需求肯定是歌词,在 github 上找了几个,发现或多或少都有点不满足需求,所 ...

  7. android MusicPlayer 音乐播放器 Lrc歌词控件的实现

    MusicPlayer Lrc歌词控件的实现 最近在做一个音乐播放器,关于其中歌词控件,上网查过了一些资料,然后进行修改,也算完整的实现了其功能.先看看实现后的效果. 实现的原理实际上是自定义一个Vi ...

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

    作者:jsyjst 前言 最近重构了之前的音乐播放器,添加了许多功能,比如歌词,下载功能等.这篇文章就让我们聊聊歌词控件的实现,先上效果图,如果感觉海星,就继续瞧下去! 看到这里,估计你对这个控件还有 ...

  9. Android漂亮的音乐歌词控件,仿网易云音乐滑动效果

    前言: 项目有个音乐播发器功能,实现音乐在线播放,同时需要带有歌词显示功能.网上也找过,在github找到勉强能用的控件,只是效果还是差强人意,不是特别好.于是趁有空的时间,参考了网上的部分demo, ...

最新文章

  1. Python学习笔记3——三大结构:顺序,分支,循环3
  2. Windows 2003 server 服务器集群实例
  3. @resource 与 @autowired
  4. mysql 8.0 集群_集群架构03·MySQL初识,mysql8.0环境安装,mysql多实例
  5. springMVC 统一异常处理异常处理类的使用
  6. Java 类的特性2
  7. sql server 入门_SQL Server查询调整入门
  8. 4个常用Linux开发环境工具,你最常用的是那个?
  9. 淘宝店铺的装修是店铺的门面,如何进行淘宝店铺装修?需要注意的点有哪些?
  10. 【软件网每日新闻播报│第9-18期】
  11. day23_1-re模块之转义字符、分组、方法
  12. 数据结构考研复习(详细指导)(持续更新中)
  13. 使用dubbo遇到了Unsatisfied dependency expressed through field ‘userService‘
  14. k8s调度过程中的资源分配问题
  15. 锂矿降龙十八掌之时乘六龙:盛新锂能
  16. cocos creator微信小游戏截图
  17. Python每日笔记打卡_day4
  18. 如何优雅地弄好PCB丝印
  19. 基于QQ远程协助的远程桌面实现
  20. 实验一 顺序与选择结构(Python 头歌)

热门文章

  1. 【react】解决在外部设置react组件input的value问题
  2. [概念] 风险识别工具 - 影响图(Influence Diagram) 1
  3. Servlet转发和重定向的区别
  4. 如何利用积分兑换商城系统助力积分商城运营
  5. 苹果云手机输入虚拟服务器,云虚拟服务器怎么手机控制
  6. Ubuntu下tomcat安装教程
  7. 评职称还用计算机,职称有什么用?现在计算机职称考试证书是不是越来越没价值啦?...
  8. 个人练习代码库/ColorMatrix/色调、饱和度、亮度调整
  9. 色标传感器和颜色传感器
  10. 从事游戏美术行业,游戏建模和游戏原画间怎么选择?